日期:2014-05-16  浏览次数:20341 次

json 客户端 使用和转换

json2.js的初步学习与了解

官网:

该js的下载地址是: http://www.json.org/json2.js

?

json client 的学习

示例演示一:
//json数据结构
var myJSONObject = {"bindings": [
??????? {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
??????? {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
??????? {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
??? ]
};

//json 结构数据的使用

这些成员可以用“.”或subscript 操作得到。

如:myJSONObject.bindings[0].method??? // "newURI"
?????? myJSONObject.bindings[1].
regex???????? // " ^random.* "

示例演示二:

//声明字符串,可对比一下json文本与我们正常文本的区别

var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]'; <不 符合json结构的字符串,需要转换 :通过调用eval(target)转换为json对象而非json 文本>
var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';
<符合json结构的字符串>

<注意到:jsontext 变量 和 normalsring 变量的区别了吗?键-双引号。有木有!>

?

示例演示三:

//json文本与json对象的

var jsonObject= JSON.parse(jsontext);//json文本转换为json对象

<注意:使用JSON.parse(args) ,args必须是符合json结构的字符串,否则会parse异常!>
var text = JSON.stringify(jsonObject);
//将json对象转换为字符串<json文本>

<说明:因为JSON是JavaScript的一个确切的子集,编译器可以正确地解析JSON文本,然后生成一个对象结构 >

另外:

//调用eval函数转换为json对象,
var myE = eval(normalstring);

//将json对象转换为字符串
var text = JSON.stringify(myE);


示例演示四:

//下面是对json对象的增删查改操作

<script>
??? //声明json对象
??? var jsonObj2={persons:[
???? {name:"jordan",sex:"m",age:"40"},
???? {name:"bryant",sex:"m",age:"28"},
???? {name:"McGrady",sex:"m",age:"27"}
??? ]};
??? var persons=jsonObj2.persons;
??? var str="";
??? var person={name:"yaoMing",sex:"m",age:"26"};
???
??? //以下为json对象的操作,去掉注释可以查看操作结果
??? jsonObj2.persons.push(person);//数组最后加一条记录
??? jsonObj2.persons.pop();//删除最后一项
??? jsonObj2.persons.shift();//删除第一项
??? jsonObj2.persons.unshift(person);//数组最前面加一条记录 只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除
??? jsonObj2.persons.splice(0,2);//开始位置,删除个数
???
??? //替换不删除
??? var self={name:"tom",sex:"m",age:"24"};
??? var brother={name:"Mike",sex:"m",age:"29"};
??? jsonObj2.persons.splice(1,0,self,brother,self);//开始位置,删除个数,插入对象
???
??? //替换并删除
??? jsonObj2.persons.splice(0,1,s