首页 > web前端 > js教程 > 正文

json2.js的初步学习与了解_json

php中文网
发布: 2016-05-16 18:01:24
原创
1264人浏览过

json2.js的初步学习与了解
1.)该js的下载地址是:http://www.json.org/json2.js
2.)在页面中引用该脚本:
3.)示例演示一:

复制代码 代码如下:

//直接声明json数据结构
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};

这个例子中,创建了一个对象,它只包含一个成员“bindings”。“bindings”是一个包含了3个对象的数组,而这每个对象都有"ircEvent"、"method"和"regex"3个成员。
这些成员可以用“.”或subscript 操作得到。
如:myJSONObject.bindings[0].method // "newURI"
myJSONObject.bindings[1].deleteURI // "newURI"
//声明字符串,可对比一下json文本与我们正常文本的区别
var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';
我们可以使用eval()函数调用JavaScript的编译器把JSON文本转变成对象。因为JSON是JavaScript的一个确切的子集,编译器可以正确地解析JSON文本,然后生成一个对象结构。
//调用eval函数转换为json对象,
var myE = eval(normalstring);
//将json对象转换为字符串
var text = JSON.stringify(myE);
//对比转换后的json文本与声明的文本区别
document.writeln('转换后的json文本:'+text+'

声明的json格式文本 '+jsontext+'

声明的普通格式文本 '+normalstring+'

');
结果如下:
转换后的json文本:[{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
声明的json格式文本 [{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
声明的普通格式文本 [{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]
小结:转换后的json文本和声明的json格式文本内容是相同的。
//当安全比较重要的时候使用JSON解析就好一些。JSON解析只会识别JSON文本并且它更安全,下面调用json的parse函数对文本数据转换生成json数据结构
var myData = JSON.parse(jsontext);
完整的文件如下(区别:myJSONObject,jsontext,normalstring的不同):
复制代码 代码如下:








<script> <BR>var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]'; <BR>var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]'; <BR>var myJSONObject = {"bindings": [ <BR>{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"}, <BR>{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"}, <BR>{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"} <BR>] <BR>}; <BR>//调用eval函数转换为json对象, <BR>var myE = eval(normalstring); <BR>//将json对象转换为字符串 <BR>var text = JSON.stringify(myE); <BR>//对比转换后的json文本与声明的文本区别 <BR>document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>'); <BR>//JSON解析 <BR>var myData = JSON.parse(jsontext); <BR></script>



4.)示例演示二:
复制代码 代码如下:

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







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


最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号