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