转载
是个人在最近使用json时做的总结,拿出来给没接触过的小弟们晒晒,适用与没接触过json的人员,其中json2。js请到json官网下载。
<script type="text/javascript" src="json2.js"></script>
<script>
//直接声明json数据结构
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
//声明字符串,可对比一下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"} ]}]';
1.普通调用
eval函数转换为json对象,
var myE = eval_r(normalstring);
document.writeln(myE '<br><br>');
eval函数非常快速。它可以编译执行任何JavaScript程序,因此产生了安全性问题。当使用可信任与完善的源代码时才可以使用eval函 数。这样可以更安全的使用JSON解析器。使用XMLHttpRequest的web应用,页面之间的通讯只允许同源,因此是可以信任的。但这却不是完善 的。如果服务器没有严谨的JSON编码,或者没有严格的输入验证,那么可能传送包括危险脚本的无效JSON文本。eval函数将执行恶意的脚本。
使用JSON解析器可以防止此类事件。JSON解析器只能辨识JSON文本,拒绝所有脚本。提供了本地JSON支持的浏览器的JSON解析器将远快于eval函数。预计未来的ECMAScript标准将支持本地JSON。
其中json2。js请到json官网下载。
2.JSON解析器
1.将json对象转换为字符串
2.字符串转换为json
var myData = JSON.parse(jsontext);
3.json对象的增删查改操作
//声明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,self,brother);//开始位置,删除个数,插入对象
for(var i=0;i<persons.length;i ){ var cur_person=persons[i]; str =cur_person.name "'sex is " cur_person.sex " and age is " cur_person.age "<br><br>"; }
document.writeln(str);
//转换为json文本
var myjsonobj = JSON.stringify(jsonObj2);
document.writeln(myjsonobj);
</script>
相关推荐
本着探究 JSON 原理的目的,我将会在这DEMO中实现了一个简单的JSON解析器。由于 JSON 本身比较简单,解析起来也并不复杂。所以如果大家感兴趣的话,在看完本DEMO后,不妨自己动手实现一个 JSON 解析器。
为了和IE8内置的JSON2区别开更换变量名
Unity-JSON数据解析器,语言JavaScript,此版本是ALPHA测试版,最新资源下载:http://dev.grumpyferret.com/unity/
himalaya, JavaScript HTML到JSON解析器 将HTML解析为 JSON 尝试联机
json解析器好用是个人在最近使用json时做的总结,拿出来给没接触过的小弟们晒晒,适用与没接触过json的人员,其中json2。js请到json官网下载。 <script type="text/javascript" src="json2.js"> //直接声明json...
对于大多数用途,json2.jsis最好的choice.json2.js:此文件创建一个JSON属性的全局对象,如果thereisn't之一,其值设置为一个对象,它包含一个stringifymethod和解析方法。 parse方法使用的eval方法做theparsing的,...
一个完整的,纯JavaScript的流式JSON解析器,不到1kb
2. 使用JSON解析器: 2.1 JSON.parse(); JSON parse解析器只能辨识JSON文本,拒绝所有脚本。提供了本地JSON支持的浏览器的JSON解析 器将远快于eval函数。预计未来的ECMAScript标准将支持本地JSON。 使用格式: ...
nearley 是简单的 Node.js 解析器,解析器把字符串的字符变成有意义的数据结构(比如一个 JSON 对象)。nearley 是一个快速,特性丰富和现代化的 JavaScript 解析器工具包,也是 npm 人员很好的选择。特性:nearley ...
Xml2Json转换器,使用GUI的简单转换工具(用JavaFX编写) , 用于将大型 XML文件转换为json和json to XML, 有指示进度并使用少量内存进行转换。从1.2.0 版应用程序开始, 支持从目录批量转换文件的模式。 JSON和XML的...
解析器是从参考JavaScript JSON5解析器移植而来的; 。 解析器输出与org.json.JSONObject.wrap兼容,从而允许将输出轻松转换为org.json对象。 这允许在为org.json类型编写的应用程序中使用JSON5文件; 允许注释,...
JSON-ASTy是一个JavaScript库,为抽象语法树(AST)解析器提供了无损JavaScript对象表示法(JSON),并为JSON生成器提供了相应的AST。 它用于需要将JSON读入AST,操纵AST并再次从AST生成JSON的同时完全保留原始JSON...
前一段时间在用JSON的时候,发现格式化JSON很有意思,于是乎老王就用空闲时间写了一个JSON的解析和格式化器。
DynamicJSON是一个Swift 4.2动态类型的JSON解析器,它基于Chris Lattner在Swift 4.2中引入的新的@dynamicMemberLookup功能。 这允许我们访问在运行时解析的任意对象成员,允许Swift在JSON方面像JavaScript一样灵活。
一个JSON解析器,标记生成器,遍历器和printer
pdf2json是一个模块,可将PDF从二进制格式转换为json格式,它是使用构建的,并通过交互式表单元素和文本内容解析器在浏览器外部进行扩展。 目标是当包装在Web服务中时,使服务器端PDF可以使用交互式表单元素进行...
Atom-feedme.js.zip,rss/atom/json提要解析器饲料公司,atom是一个用web技术构建的开源文本编辑器。
Jackson JSON处理器的一个BSON生器和解析器
一个异步 JSON 流解析器 用法 var stream = new JSONStream ( ) ; stream . onupdate = function ( ) { // TODO console . log ( stream . result ) ; } ; stream . oncomplete = function ( ) { // TODO ...