• JSON对象和JSON字符串以及JSON.parse 函数的使用


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>JSON.parse()</title>
    <script type="text/javascript">
    	//示例1:此示例使用 JSON.parse 将 JSON 字符串转换为对象
    	var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';//JSON 字符串
    	var contact = JSON.parse(jsontext);
    	document.write(contact.surname + ", " + contact.firstname + ", "+ contact.phone);
    
    	//示例2:和实例1是一样的效果
    	var jsontext2 = {"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]};//JSON 对象
    	//var contact2 = JSON.parse(jsontext2);
    	document.write("<br /><br />"+jsontext2.surname + ", " + jsontext2.firstname + ", "+ jsontext2.phone);
    </script>
    </head>
    <body>
    </body>
    </html>

    输出:

    Aaberg, Jesper, 555-0100,555-0120

    Aaberg, Jesper, 555-0100,555-0120


    ************************************************************************************

    前端页面接收JSON对象的实例:

    <script>	
    	sendRecord('1');
    	function sendRecord(record){
    		var req = {
    			user_id:<?php echo $userId;?>,
    			record:record,
    		}
    		$.ajax({
    			url: "./a.php",
    			type:"post",
    			data:req,
    			dataType:"JSON", //返回数据格式为JSON对象
    			success: function(res){
    			    alert(Object.prototype.toString.apply(res));//alert输出[object Object],不用JSON.parse()解析
    				if(res.result==1){
    					alert('11');
    				}else if(res.result==2){
    					alert('22');
    				}else if(res.result==3){
    					alert('33');
    				}
    			},
    			error: function(){
    				alert('error000');
    				console.log(this);
    			}
    		});
    	}
    </script>
    a.php

    <?php
    	$record = $_POST['record'];
    	
    	if ($record==1) {                    
    		$json['result'] = 1;                    
    	}elseif($record==2){
    		$json['result'] = 2;
    	}elseif($record==3){
    		$json['result'] = 3;
    	}
    
    	$json = json_encode($json);
    	echo $json;  //{"result":1}
    ?>

    ***************************************************************************

    <script type="text/javascript" src="./jquery.min.js"></script>
    <script>	
    	sendRecord('2');
    	function sendRecord(record){
    		var req = {
    			record:record,
    		}
    		$.ajax({
    			url: "./b.php",
    			type:"post",
    			data:req,
    			dataType:"JSON", //返回数据格式为JSON对象
    			success: function(res){
    				//加上dataType:"JSON",alert输出[object Array],不需要JSON.parse()解析
    				//不加dataType:"JSON",alert输出[object String],需要JSON.parse()解析
    				alert(Object.prototype.toString.apply(res));
    				//var res2 = JSON.parse(res);
    				alert(res);
    			},
    			error: function(){
    				alert('error000');
    				console.log(this);
    			}
    		});
    	}
    </script>
    b.php

    <?php
    	$record = $_POST['record'];
    	if ($record==1) {                    
    		$json = array('a','aa');                    
    	}elseif($record==2){
    		$json = array('b','bb'); 
    	}elseif($record==3){
    		$json = array('c','cc'); 
    	}
    	$json = json_encode($json);
    	echo $json;  //["b","bb"]
    ?>

    总结:如果后台是通过echo json_encode();输出json字符串的话,而且前台使用了dataType:"JSON", 那么则不需要JSON.parse();把json字符串转换成对象或数组。



  • 相关阅读:
    《楞严经四种清净明诲》 (转自学佛网:http://www.xuefo.net/nr/article56/559965.html)
    忏悔言情小说带来的意淫以及对治方法 (转自学佛网:http://www.xuefo.net/nr/article55/554935.html)
    一个80后妈妈的邪淫忏悔(转自学佛网:http://www.xuefo.net/nr/article55/551761.html)
    邪淫真正的可怕危害 (转自学佛网:http://www.xuefo.net/nr/article54/544414.html)
    净空法师详解《般若波罗蜜多心经》,转给有缘人
    净空法师主讲:净业三福【全2集】
    《阿含经》的思想
    佛教最早时期的根本经典 《阿含经》为何如此重要?
    弘一法师妙解《心经》
    读唯识三十颂讲话日记 原创: 李美君 那兰陀广场
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061249.html
Copyright © 2020-2023  润新知