日期:2014-05-16 浏览次数:20373 次
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