json---json_encode ----json_decode---eval

本文介绍PHP和JavaScript中JSON编码与解码的方法。PHP端使用json_encode将数组转换为JSON字符串,JavaScript端通过eval将JSON字符串转回对象。同时展示了PHP端如何互转JSON数据,并提供实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1. php 端json编码,js解码

一般在服务器到页面传输数据时,使用jason串传递,需要在php端使用json_encode将json对象编码为json串,然后在页面上得到的数据进行处理前,需要使用eval接收,有json串转回json对象

注意:dataType: "json",ajax中使用 dataType的话,不需要使用eval进行解析,得到是json串

 
 
<?php
              $arr = array(
'Name'=>'希亚',
'Age'=>20
          );
$jsonencode = json_encode($arr);   //由json对象编码成json串
echo $jsonencode;
?>
 
<script type="text/javascript">
var jsonObj = {
key:function(){
return "abcdv";
},
key1:"key1String",
key2:2
}; //json对象
 
var jsonStr ='{key:function(){return "abcdv";},key1:"key1String",key2:2,}';
alert(jsonStr); //json字符串
var evalRes=eval('('+jsonStr+')'); //json字符串-->json对象
alert(evalRes);  //json对象------object
alert(typeof evalRes.key); //json对象的key值---函数
</script>

 

 

2. php端json编码,php端json解码

 

<?php 

$arr = Array(
		Array(
				"payTipKey"=>"资费说明2",
				"payTipValue"=>"value2",
				),
		Array(
				"payTipKey"=>"资费说明3",
				"payTipValue"=>"value4",
				)
		);
$jsonEncodeStr = json_encode($arr);

echo $jsonEncodeStr;
echo "<br>";

$jsonDecodeObj = json_decode($jsonEncodeStr);   //json_decode()
var_dump($jsonDecodeObj);
echo "<br>";

$jsonDecodeArr = json_decode($jsonEncodeStr,true);
var_dump($jsonDecodeArr);
echo "<br>";

foreach($jsonDecodeArr as $temp){
	echo $temp['payTipKey'];
	echo ":";
	echo $temp['payTipValue'];
	echo "<br>";
}

/* 结果:
 *  ************************************************
 * 	$jsonEncodeStr:
 *  [{"payTipKey":"\u8d44\u8d39\u8bf4\u660e2","payTipValue":"value2"},{"payTipKey":"\u8d44\u8d39\u8bf4\u660e3","payTipValue":"value4"}]
 *  
 *  ***************************************************
 *  $jsonDecodeObj:对象
 *	array(2) { [0]=> object(stdClass)#1 (2) { ["payTipKey"]=> string(13) "资费说明2" ["payTipValue"]=> string(6) "value2" } [1]=> object(stdClass)#2 (2) { ["payTipKey"]=> string(13) "资费说明3" ["payTipValue"]=> string(6) "value4" } } 
 *
 *  ****************************************************
 *  $jsonDecodeArr:Array
 *  array(2) { [0]=> array(2) { ["payTipKey"]=> string(13) "资费说明2" ["payTipValue"]=> string(6) "value2" } [1]=> array(2) { ["payTipKey"]=> string(13) "资费说明3" ["payTipValue"]=> string(6) "value4" } } 
 *  
 *  
 *  ***************************************************
 *  遍历:
 *  资费说明2:value2
 *  资费说明3:value4
 *  
 *  */

?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值