`

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

    博客分类:
  • json
 
阅读更多

 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
 *  
 *  */

?>

 

分享到:
评论

相关推荐

    lua-cjson-2.1.0

    4. **安全特性**:为了避免JSON注入攻击,`lua-cjson`提供了一些安全选项,如禁止解析特定的JSON构造,如`eval`和`function`,确保数据的安全性。 5. **自定义配置**:用户可以通过配置选项来定制`lua-cjson`的行为...

    php数组转换js数组操作及json_encode的用法详解

    需要注意的是json_encode函数的逆操作是json_decode函数,它将JSON格式的字符串转换回PHP数组。json_decode可以接受第二个参数,如果设置为true,就会返回数组而非对象。这一点在处理JSON数据时非常有用。 总结来说...

    JSON中文版.pdf

    可以使用`json_encode()`函数将PHP数组转换为JSON字符串,使用`json_decode()`函数将JSON字符串转换为PHP数组。 **PHP中的JSON编码示例:** ```php $data = array( "name" =&gt; "Jobo", "address" =&gt; "325 Smith ...

    json中文教程中文教程

    - **PHP**:内置`json_decode()`和`json_encode()`函数。 ### JSON的局限性 尽管JSON非常流行,但它也有一些限制: 1. **不支持日期**:JSON本身不提供日期类型的表示,通常需要转换成字符串。 2. **没有类型信息...

    PHP应用JSON技巧讲解

    在处理JSON数据时,有时会用到`eval()`配合`json_decode()`,像这样: ```javascript var encode_str = '{"green":10,"size":5,"strock":12}'; var obj = eval('(' + encode_str + ')'); console.log(obj.green); /...

    php和js如何通过json互相传递数据相关问题探讨

    总的来说,PHP和JavaScript之间的JSON交互涉及到数据的编码和解码,需要注意的是,JavaScript可以解析JSON字符串并直接操作其内容,而PHP则需要使用`json_encode`和`json_decode`函数进行转换。在实际应用中,确保...

    json的键名为数字时的调用方式(示例代码).docx

    $json = json_encode($array); ``` 在这个例子中,`result`键下的"90"被编码为JSON对象的一个属性。在解码JSON返回到PHP数组时,我们需要指定`json_decode`的第二个参数为`true`,这样JSON对象会转换为关联数组,而...

    my_ajax_note

    在PHP中可以使用`json_encode()`和`json_decode()`函数来转换数据。 - **编码**:`json_encode(数据)`,将数组或对象转化为JSON字符串。 - **解码**:`json_decode(json数据, $assoc)`,其中 `$assoc` 参数为 `true...

    Json是什么?

    对于JavaScript,可以直接通过`eval()`或`JSON.parse()`方法解析JSON字符串。 3. **跨语言支持**:JSON支持多种编程语言,包括ActionScript、C、C#、ColdFusion、Java、JavaScript、Perl、PHP、Python、Ruby等,这...

    浅谈php和js中json的编码和解码

    在PHP中,进行JSON编码和解码主要涉及两个函数:json_encode() 和 json_decode()。 json_encode() 函数用于将PHP变量编码为JSON格式的字符串。它的基本语法是: ```php json_encodePHP( mixed $value [, int $...

    Ajax中的JSON格式与php传输过程全面解析

    $json_user = json_decode($user, true); // 对json格式的字符串进行解码,转换成PHP变量格式 echo json_encode($json_user); // 对php变量格式进行编码,转换成JSON格式 ?&gt; ``` PHP使用`json_decode()`函数将接收到...

    解析PHP多种序列化与反序列化的方法

    `serialize`和`unserialize`适合PHP内部使用,`json_encode`和`json_decode`则更适合跨语言的数据交换,而`var_export`和`eval`以及`wddx_serialize_value`和`wddx_deserialize`在特定情况下有其优势。选择哪种方法...

    半个小时学json(json传递示例)

    var json = eval(json); // ... }); ``` 服务器端的PHP脚本接收这些参数,并将它们放入一个关联数组中,然后用`json_encode()`函数将数组转化为JSON格式的字符串并返回。 ```php $id = $_GET['id']; $name = $_...

    PHP多种序列化/反序列化的方法详解

    - `json_encode` 和 `json_decode` 提供了更紧凑、更易读的序列化格式,且跨语言兼容性好。 - `var_export` 和 `eval` 的组合可以用于查看和还原变量,但安全性较低,且不适合大量数据操作。 - `wddx_serialize_...

    php中给js数组赋值方法

    总结来说,使用`json_encode()`和`json_decode()`是PHP与JavaScript之间传递数据的常用且安全的方式。这种方法允许你在服务器端(PHP)处理数据,并在客户端(JavaScript)进行进一步的操作,实现前后端的协同工作。

    PHP序列化的四种实现方法与横向对比

    - **安全性和性能**:`eval()`有潜在的安全风险,而`json_encode()`和`json_decode()`在大多数情况下是安全的且效率较高。 在实际开发中,应根据项目需求和安全考虑选择合适的序列化方法。同时,确保在反序列化时对...

    【基础篇】第10篇:PHP代码审计笔记--反序列化漏洞1

    3. 使用安全的序列化和反序列化库,例如使用`json_encode()`和`json_decode()`代替`serialize()`和`unserialize()`。 4. 尽量避免使用`eval()`,因为它可以执行任何PHP代码,是潜在的安全风险。 总的来说,理解PHP...

Global site tag (gtag.js) - Google Analytics