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