JSON的基础知识
2016-06-13 21:59
381 查看
JSON的基本语法
JSON的四个基本规则
(1)并列的数据之间用逗号(“,”)分隔。
(2)映射用冒号(“:”)表示。
(3)并列数据的集合(数组)用方括号(“[]”)表示。
(4)映射的集合(对象)用大括号(“{}”)表示。
举例:
“北京市的面积为16800平方公里,常住人口1600万人。上海市的面积为6400平方公里,常住人口1800万。”
转换成JSON格式之后:
[ key value key value key value
{“城市”:”北京”,面积”:16800,”人口”:1600},
{“城市”:”上海”:”面积”:6400,”人口”:1800}
]
JSON的优点
1、数据格式比较简单,易于读写,格式都是压缩的,占用带宽小。
2、支持多种语言,包括ActionScript,C,C#,ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等服务器端语言,便于服务器端的解析。
JSON的缺点
1、要求字符集必须是Unicode,受约束性强。
2、语法过于严谨,必须遵循JSON语法四个原则。
JSON数据格式和serialize数据格式的异同
*相同点
1、都是把其他数据类型转换成一个可以传输的字符串
2、都是结构性数据
*不同点
1、Serialize序列化后的数据格式 保存数据原有类型
2、JSON数据格式相比Serialize序列化之后的数据格式更简洁
*使用场景
1、JSON适合数据量大,不要求保留原有数据类型的情况下使用
2、Serialize适合存储带有加密方式的数据串,防止数据被中途截取反序列化破解
PHP中操作JSON的重要函数
首先简单解释一下什么是索引数组和关联数组
索引数组
$array_1 = array( ‘name’ , ‘age’ ); // [ “name” , “age” ]数组
关联数组
$array_2 = array( 1 => ‘ name ‘, 2 => ‘ age ‘ ); //{ “1” : “name” , “2” : “age” }对象
函数
json_encode()
语法:
string json_encode(mixed $value [ , int $options = 0 ] )
json_decode()
语法:
mixed json_decode(string $json [ , bool $assoc ] )
//$assoc
默认为False,若为true
返回数组
接受一个JSON格式的字符串并且把它转换为PHP变量
一维数组转换成json
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?> 在浏览器输入链接,输出如下:
把json数据转换为数组形式数据
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json,true));
?>
在浏览器输入链接,输出如下:
JSON的四个基本规则
(1)并列的数据之间用逗号(“,”)分隔。
(2)映射用冒号(“:”)表示。
(3)并列数据的集合(数组)用方括号(“[]”)表示。
(4)映射的集合(对象)用大括号(“{}”)表示。
举例:
“北京市的面积为16800平方公里,常住人口1600万人。上海市的面积为6400平方公里,常住人口1800万。”
转换成JSON格式之后:
[ key value key value key value
{“城市”:”北京”,面积”:16800,”人口”:1600},
{“城市”:”上海”:”面积”:6400,”人口”:1800}
]
JSON的优点
1、数据格式比较简单,易于读写,格式都是压缩的,占用带宽小。
2、支持多种语言,包括ActionScript,C,C#,ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等服务器端语言,便于服务器端的解析。
JSON的缺点
1、要求字符集必须是Unicode,受约束性强。
2、语法过于严谨,必须遵循JSON语法四个原则。
JSON数据格式和serialize数据格式的异同
*相同点
1、都是把其他数据类型转换成一个可以传输的字符串
2、都是结构性数据
*不同点
1、Serialize序列化后的数据格式 保存数据原有类型
2、JSON数据格式相比Serialize序列化之后的数据格式更简洁
*使用场景
1、JSON适合数据量大,不要求保留原有数据类型的情况下使用
2、Serialize适合存储带有加密方式的数据串,防止数据被中途截取反序列化破解
PHP中操作JSON的重要函数
首先简单解释一下什么是索引数组和关联数组
索引数组
$array_1 = array( ‘name’ , ‘age’ ); // [ “name” , “age” ]数组
关联数组
$array_2 = array( 1 => ‘ name ‘, 2 => ‘ age ‘ ); //{ “1” : “name” , “2” : “age” }对象
函数
json_encode()
语法:
string json_encode(mixed $value [ , int $options = 0 ] )
json_decode()
语法:
mixed json_decode(string $json [ , bool $assoc ] )
//$assoc
默认为False,若为true
返回数组
接受一个JSON格式的字符串并且把它转换为PHP变量
一维数组转换成json
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?> 在浏览器输入链接,输出如下:
把json数据转换为数组形式数据
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json,true));
?>
在浏览器输入链接,输出如下:
相关文章推荐
- 使用 Python 处理 JSON 格式的数据
- XML 与 JSON 优劣对比
- VBA将excel数据表生成JSON文件
- newtonsoft.json解析天气数据出错解决方法
- vbs 解析json jsonp的方法
- Ruby和Ruby on Rails中解析JSON格式数据的实例教程
- Extjs4如何处理后台json数据中日期和时间
- C#实现将类的内容写成JSON格式字符串的方法
- JQuery ajax返回JSON时的处理方式 (三种方式)
- jquery JSON的解析方式示例介绍
- c#版json数据解析示例分享
- ASP JSON类文件的使用方法
- C# JSON格式化转换辅助类 ConvertJson
- C#实现对Json字符串处理实例
- C#实现Json转Unicode的方法
- php解析json数据实例
- PHP中JSON的应用技巧
- PHP6 先修班 JSON实例代码
- 关于JSON以及JSON在PHP中的应用技巧
- .Net中的json操作类用法分析