PHP中Json相关

简介:

Json全称是JavaScript Object Notation,本来是JavaScript对象的一种表示和描述方式。现在已经和XML一样,成为了一种通用的数据传输格式,且由其更加轻量级,得到了广泛的使用。

在PHP中,与Json直接相关的两个常用函数是json_encode和json_decode,json_encode即将PHP实体(数组或对象等类型)进行接送编码,转换成Json字符串(文本)格式,以便进行数据传输。另一方面,json_decode是对Json字符串进行解码,得到原来的PHP实体。在PHP中,经常使用的就是对对象和数组进行Json传输。

当对一维数组和对象进行json_decode时,会转化后的Json字符串发现其形式一样。

如下代码所示:

复制代码
 1 <?php
 2 $people1 = array('name'=>'qqyumidi', 'age'=>'24');
 3 $people1_json = json_encode($people1);
 4 echo $people1_json;
 5 echo "<br/>";
 6 
 7 class People{
 8     public $name;
 9     public $age;
10 
11     public function __construct($name, $age){
12         $this->name = $name;
13         $this->age  = $age;
14     }
15 }
16 
17 $people2 = new People('qqyumidi', '24');
18 $people2_json = json_encode($people2);
19 echo $people2_json;
复制代码

转化后的Json字符串格式都为:{"name":"qqyumidi","age":"24"}
如果现在有此Json字符串,需要对其进行还原成原来格式,怎么办呢,到底是解析成对象还是数组形式呢,幸好,json_decode函数中为了对此进行区分,提供了第二个可选布尔型参数,如果第二个参数为true,则解析为数组,否则解析成对象。且默认是false。这也正是json_decode函数第二个参数的来由。

复制代码
1 $json_str = '{"name":"qqyumidi","age":"24"}';
2 $result1 = json_decode($json_str);
3 $result2 = json_decode($json_str, true);
4 print_r($result1);
5 echo "<br/>";
6 print_r($result2);
复制代码

可以看到输出结果为:

stdClass Object ( [name] => qqyumidi [age] => 24 )
Array ( [name] => qqyumidi [age] => 24 )

 

---------------------------------------------------------------------------------
笔者水平有限,若有错漏,欢迎指正,如果转载以及CV操作,请务必注明出处,谢谢!
分类: PHP

本文转自Windstep博客园博客,原文链接:http://www.cnblogs.com/lwbqqyumidi/archive/2012/11/24/2786190.html,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
JSON PHP 数据格式
|
1月前
|
JSON JavaScript PHP
PHP把unicode编码的json字符串转中文
PHP把unicode编码的json字符串转中文
13 0
|
3月前
|
JSON PHP 数据格式
|
3月前
|
JSON PHP 数据格式
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
|
3月前
|
JSON PHP 数据格式
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
|
9月前
|
XML JSON PHP
PHP快速入门08-JSON与XML处理
PHP快速入门与实战JSON与XML都是用于在不同的应用程序之间传输数据的格式化语言。在PHP中,可以使用内置函数处理JSON和XML格式的数据。以上就是关于本篇文章介绍的内容,JSON与XML处理,后续更多内容将收录在专栏PHP快速入门与实战。
|
4月前
|
JSON 前端开发 PHP
dataType:'json'时post,总是调用error???附带php和json的一些坑
ajax是一个不错的东西 当dataType:'json'时提交,总是返回error 这是为什么? 经过折腾,终于发现因为要求的是json,返回的信息并不是json格式,因此总是出错
34 0
|
8月前
|
JSON PHP 数据格式
PHP - Laravel 接口请求返回 JSON 数据
PHP - Laravel 接口请求返回 JSON 数据
150 0
|
9月前
|
JSON PHP 数据格式
php数组学习(2):判断并过滤JSON字符串中不包含指定键名的解决方案
php数组学习(2):判断并过滤JSON字符串中不包含指定键名的解决方案
47 0