JSON格式
10年前未命名
json结构的格式就是若干个 键/值(key, value) 对的集合,该集合可以理解为字典(Dictionary),每个 键/值 对可以理解成一个对象(Object)。 键/值 对中的 键(key) 一般是 一个string,值(value)可以是string、double、int等基本类型,也可以嵌套一个 键/值 对,也可以是一个数组,数组里面的数据的类型可以是基本类型,或者 键/值 对。可以看出 键/值 本来没什么,只是嵌套得多了就会觉得混乱,下面举个具体的例子来说明。注:该代码只是用来举例说明,并不能正确运行。
变量testJson就是一个json对象,testJson对象包括三个 键/值 对。
第一个 键/值 对: 键(key)是"Name“ ,其对应的值(value)是 "张三" ,即 testJson["Name"] == "张三"
第二个 键/值 对: 键 是 "ByName" ,值是一个数组,是一个string集合。有必要的话,数组里面的元素也可以是 键/值 对。
第三个 键/值 对: 键 是 "Education",值是一个 Json对像,该json对象包括三个 键/值 对,这就是嵌套了。。。
总结:json对象就是若干个 键/值 对的集合,键是string,值可以是基本类型,或者嵌套一个Json对象,或者是一个数组(数组里的元素可以是基本类型,也可以是json对象,可以继续嵌套)。
获取名字:testJson["Name"]
获取第一个别名:testJson["ByName"][0] 。testJson的 键"ByName" 对应的值 是一个string数组
获取小学名字: testJson["Education"]["GradeSchool"] , 获取大学主修专业:testJson["Education"]["University"]["Specialty"][0]
注意:JSON格式里面必须为" " "(双引号)
下面举个实例:
定义一个符合json格式要求的字符串:
var jsonText ='{\'user\':[{\'username\':\'zhang\',\'password\':\'123\'},{\'username\':\'xx\',\'password\':\'456\'}]}';//错误格式
var jsonText ="{\"user\":[{\"username\":\"zhangsan\",\"password\":\"123\"},{\"username\":\"xx\",\"password\":\"456\"}]}";//正确格式
或者:
var jsonText ='{"user":[{"username":"zhangsan","password":"123"},{"username":"xx","password":"456"}]}';
$(document).ready(function(){ $("a").click(function(){ //alert(jsonText); $.post('a.php',{data:jsonText},function(data){ alert(data); }); });php文件:接收后:
<?php //print_r($_POST['data']); $arr = json_decode($_POST['data'],true);//解析JSON格式 print_r($arr); ?>根据需要遍历取值即可。