json2.js的初步学习与了解
json2.js的初步学习与了解
1.)该js的下载地址是:http://www.json.org/json2.js
2.)在页面中引用该脚本:<script type="text/javascript" src="js/json2.js"></script>
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+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');
结果如下:
转换后的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的不同):
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="js/json2.js"></script>
</head>
<body>
<script>
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"} ]}]';
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
//调用eval函数转换为json对象,
var myE = eval(normalstring);
//将json对象转换为字符串
var text = JSON.stringify(myE);
//对比转换后的json文本与声明的文本区别
document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');
//JSON解析
var myData = JSON.parse(jsontext);
</script>
</body>
</html>
4.)示例演示二:
//下面是对json对象的增删查改操作
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="js/json2.js"></script>
</head>
<body>
<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,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);
document.writeln(persons.length);
</script>
</body>
</html>
来自: http://hi.baidu.com/coldsnow123/blog/item/b1ec0dfa1923fb9b59ee904f.html
分享到:
相关推荐
JSON2.js是一个JavaScript库,由Douglas Crockford开发,主要目的是为了在旧版本的JavaScript引擎中提供完整的JSON支持。 在JavaScript中,JSON对象是原生支持的,但在一些较老的浏览器或环境中,如IE6和IE7,它们...
总结来说,json2.js是一个解决旧版JavaScript引擎中JSON支持问题的库,提供JSON.parse()和JSON.stringify()等方法,使得在不支持JSON的环境中也可以进行JSON数据的解析和序列化操作。随着浏览器技术的发展,它的使用...
JSON2.js是由Douglas Crockford开发的一个JavaScript库,专门用于处理JSON数据,尤其在老版本的浏览器中,这些浏览器可能不支持原生的JSON解析和序列化功能。 在JavaScript中,JSON主要用于对象与字符串之间的转换...
**json.js** 和 **json2.js** 是两个JavaScript库,用于在浏览器环境中处理JSON数据。`json.js`可能是早期的一个JSON处理库,它提供了JSON的解析(`parse()`)和字符串化(`stringify()`)功能,使得在不支持JSON的...
《json2.js:JavaScript中的JSON解析与序列化》 在Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。JSON2....
jsp使用JSON.stringify()引用的json2.js
`json2.js` 是一个JavaScript库,由Douglas Crockford 创建,主要用于在那些不支持原生JSON解析和序列化的老版本浏览器上提供JSON功能。 在JavaScript中,JSON是一个内置对象,提供了`parse()`和`stringify()`两个...
`json2.js` 是由Douglas Crockford开发的一个JavaScript库,主要用于在那些不支持原生JSON解析和序列化的老旧浏览器中添加对JSON的支持。这个库对于学习和理解JSON在JavaScript中的应用至关重要。 标题中的"Json2....
将JavaScript对象类型的参数通过JSON.stringify转换成字符串传递时,IE6、7、8会报:“JSON”未定义 的错误。可以通过在html文件的head头内引入json2.js文件来解决:
标题中的“json.js”和“json2.js”可能是指两个不同的JSON解析和序列化库,用于JavaScript环境。这两个文件可能是为了在浏览器环境中处理JSON数据而提供的工具。下面分别对它们进行详细的解释: 1. **json.js**:...
json2.js 将对象JSON化: JSON.stringify(value, [replacer], [space]) 例子: $(document).ready(function () { $("#update").click(function () { var employee = { EmployeeName: $("#EmployeeName").val(),...
json2.js: This file creates a JSON property in the global object, if there isn't already one, setting its value to an object containing a stringify method and a parse method. The parse method uses ...
json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】。JavaScript中解析JSON的js包,页面中引入json3.js,即可使用。 使用方法:JSON.parse(str), JSON.stringify(obj) 更多详情请参考博文: ...
在旧版的JavaScript引擎中,不支持原生的JSON对象,而json2.js提供了一个兼容的JSON解析和字符串化函数。即使在现代浏览器中,这个文件也可以作为一个安全的备份,确保在任何环境中都能处理JSON数据。 综上所述,...
json2.js库解决了这个问题,它提供了parse()方法用于解析JSON字符串到JavaScript对象,以及stringify()方法用于将JavaScript对象转换成JSON字符串。 在上述的“一个使用JSON-lib和json2.js的示例”中,我们可以假设...
json2.js提供了json的序列化和反序列化方法,可以将一个json对象转换成json字符串,也可以将一个json字符串转换成一个json对象。
`json2.js`是由Douglas Crockford开发的一个JavaScript库,它的主要功能是为那些不支持原生JSON解析和字符串化的老版本JavaScript引擎提供JSON支持。 在JavaScript中,JSON对象主要用于处理JSON格式的数据。原生的...
适用于ie7以及ie6等无法使用json的浏览器。使用以下语句引入后就可以使用json了。 <script src="json2.js" type="text/javascript"></script>
JSON.parse(jsonstr); 对JSON字符串反序列化成JSON对象;JSON.stringify(jsonobj); 将JSON对象序列化成JSON字符串,传到后台再进行反序列化, 官方地址 ...相对json.js与json2.js json3.js做了很多优化,建议使用
`json2.js`是一个JavaScript库,由 Douglas Crockford 创建,主要用于在不支持JSON的旧版浏览器中实现JSON的解析和序列化。 ### JSON2.js 的主要功能 1. **JSON解析**:`json2.js` 提供了一个`JSON.parse()`方法,...