json是个啥东东

xml 不用说 只要是搞web开发的 没听说谁不知道的 一种类似数据传输格式定义的语言 但是他却不是一个真正的轻量级的东西 其他的不说 只要传输一点很少的数据 经过他那左括号右括号 还有什么属性 一包装 大得惊人 在网络上传输本来就是要越少越好 不过他还是有他的好的方面的

于是做ajax之类的东东的时候就出现了另一个可以选择的数据传输方式:json 听上去好像某个美国人的名字叫“杰森” 哇哈哈英文没学好 这下人丢大了

不要想得很神秘 其实他就是一个很长的字符串 跟xml一样按照某种格式来组织数据 json(JavaScript Object Notation)是javascript 里的对象 就是说java脚本解析他不需要其他任何附带的东西 如果你想要在其他程序或者语言(比如c# java)里解析他 请在www.json.org 下载相应的 别人写好的程序集 你也可以自己写一个 javaScript里定义数据的方式:

 1 var user = {
 2     "username": "andy",
 3     "age": 20,
 4     "info": {
 5         "tel": "123456",
 6         "cellphone": "98765"
 7     },
 8     "address": [{
 9         "city": "beijing",
10         "postcode": "222333"
11     },
12     {
13         "city": "newyork",
14         "postcode": "555666"
15     }
16 }
17 
18 //javascript里获得数据的方式:
19 alert(user.username);
20 alert(user.age);
21 alert(user.info.cellphone);
22 alert(user.address[0].city);
23 alert(user.address[0].postcode);
24 // 就这么简单 嗯 奇怪了 不是说是字符串吗 怎末看着不像啊,被骗了 不是的 其实你可以在你的程序里返回一个这样的字符串
25 //string aa="{name:'jackie',age:20,phone:'48956875'}"

在java脚本里如果要获得这个人的年龄那么就是:aa.age 简单吧 切记一条就是:如果是[]里的就用索引取值 跟程序里一样:[0] 如果是{}里的就 直接对象.属性 :person.age   并且他还可以存储各种类型的值(int string bool)

不足的是有很多方面比xml欠缺了很多 比如无法获得他子结点的个数 值是否为空 好像也不能判断 不过这样已经很好了

具体请看:www.json.org

原文地址:https://www.cnblogs.com/assassinx/p/1864166.html