JSON概述
- JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
- JSON 是轻量级的文本数据交换格式
- JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
- JSON 具有自我描述性,更易理解
JSON的表示法
- JSON实际上是JS对象的字符串表示法,本质上是一个字符串
var JSON = '{"age":18,"name":"Tom"}';//这是一个JSON字符串
JSON语法
- JSON 语法是 JavaScript 对象表示语法的子集。
数据在 名称/值 对中
key和value要用 双引号 引起来(value如果是数字类型可以不用引号引起)
数据由 逗号 分隔
大括号 { } 保存对象
中括号 [ ] 保存数组,数组可以包含多个对象(可以嵌套)
- 书写语法:key:value
{"tom":20,"lucy":19,"lili":18}
JSON函数
- json_encode:用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
- json_decode:用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
json_encode:返回 JSON字符串
json_decode:返回 object对象
例:
<?php
$arr = [
'tom'=>20,
'lucy'=>19,
'lili'=>18
];
$str = json_encode($arr);
echo $str; // 返回 {"tom":20,"lucy":19,"lili":18}
echo '<br>';
var_dump(json_decode($str)); // 返回 object(stdClass)#1 (3) { ["tom"]=> int(20) ["lucy"]=> int(19) ["lili"]=> int(18) }
解析JSON字符串
- jQuery.parseJSON(json):接受一个JSON字符串,返回解析后的对象。
- 可以通过 点方法( . )来获取这个对象中的属性的值
例:
<script>
$(function(){
// 设置一个json的字符串
var text = '{"daisy":20,"jerry":21,"john":22}'
var obj = $.parseJSON(text)
console.log(text); //返回:{"daisy":20,"jerry":21,"john":22}
console.log(obj); //返回一个对象,{daisy: 20, jerry: 21, john: 22}
var p1 = obj.daisy;
console.log(p1); // 返回 20
})
</script>