json的初步学习

简介: Json’ 是一种数据交互格式之一,客户端和服务端之间的数据交互, Json 是 js 的 js 的子集, js 可以很好的解析这种数据格式   Php 对 json 的解析主要是基于两个函数: json-encode 和 json_decode   一、json_encode() 有点像mysql 里面的序列化函数,serialize 该函数主要用来将数组和对象,转换为json 格式。

Json’ 是一种数据交互格式之一,客户端和服务端之间的数据交互,

Json js js 的子集, js 可以很好的解析这种数据格式

 

Php json 的解析主要是基于两个函数: json-encode json_decode

 

一、json_encode()

有点像mysql 里面的序列化函数,serialize

该函数主要用来将数组和对象,转换为json 格式。先看一个数组转换的例子:

1.           


$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);  
2.          echo json_encode($arr); 

结果为1.          {"a":1,"b":2,"c":3,"d":4,"e":5} 

 

再看一个对象转换的例子:

1.      $obj->body = 'another post';  
2.           $obj->id = 21;  
3.          $obj->approved = true;  
4.           $obj->favorite_count = 1;  
5.     $obj->status = NULL;  
6.           echo json_encode($obj); 

结果

1.         {  
2.     "body":"another post",  
3.         "id":21,  
4.           "approved":true,  
5.           "favorite_count":1,  
6.          "status":null  
7.          }  
 
由于json
只接受utf-8
编码的字符,所以json_encode()
的参数必须是utf-8
编码,否则会得到空字符或者null
。当中文使用GB2312
编码,
或者外文使用ISO-8859-1 编码的时候,这一点要特别注意。
 

四、json_decode()

类似与反序列化函数

该函数用于将json 文本转换为相应的PHP 数据结构。下面是一个例子:

通常情况下,json_decode() 总是返回一个PHP 对象,而不是数组。比如:

1.           $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';  
2           var_dump(json_decode($json)); 

结果就是生成一个PHP 对象:

1.          object(stdClass)#1 (5) {  
2.           ["a"] => int(1)  
3.          ["b"] => int(2)  
4.           ["c"] => int(3)  
5.           ["d"] => int(4)  
6.         ["e"] => int(5)  
7.           } 

如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:

  $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

  var_dump(json_decode($json),true);

结果就生成了一个关联数组:

  array(5) {

     ["a"] => int(1)
     ["b"] => int(2)
     ["c"] => int(3)
     ["d"] => int(4)
     ["e"] => int(5)

  }

目录
相关文章
|
6月前
|
XML 存储 JSON
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
83 0
|
XML 存储 JSON
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
105 0
|
存储 JSON 前端开发
SpringMVC之JSON返回&异常处理机制(带你学习新的SpringMVC武功秘籍)
SpringMVC之JSON返回&异常处理机制(带你学习新的SpringMVC武功秘籍)
199 0
|
6月前
|
XML JSON 前端开发
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
143 1
|
2月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
44 1
|
6月前
|
编解码 JavaScript 前端开发
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
314 0
|
3月前
|
存储 JSON 测试技术
Python中最值得学习的第三方JSON库
Python中最值得学习的第三方JSON库
|
4月前
|
JSON JavaScript 前端开发
|
5月前
|
XML JSON JavaScript
杨老师课堂之零基础学习JSON知识点
杨老师课堂之零基础学习JSON知识点
24 0
|
5月前
|
存储 JSON JavaScript
认识学习JSON
认识学习JSON