`
a418040445
  • 浏览: 26335 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

json2.js

    博客分类:
  • js
阅读更多
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
分享到:
评论
1 楼 lx8259280 2011-08-17  
  也不少

相关推荐

    json2.js 亲测可用

    JSON2.js是一个JavaScript库,由Douglas Crockford开发,主要目的是为了在旧版本的JavaScript引擎中提供完整的JSON支持。 在JavaScript中,JSON对象是原生支持的,但在一些较老的浏览器或环境中,如IE6和IE7,它们...

    json2.js json.js

    总结来说,json2.js是一个解决旧版JavaScript引擎中JSON支持问题的库,提供JSON.parse()和JSON.stringify()等方法,使得在不支持JSON的环境中也可以进行JSON数据的解析和序列化操作。随着浏览器技术的发展,它的使用...

    javascript json数据解析工具json2.js

    JSON2.js是由Douglas Crockford开发的一个JavaScript库,专门用于处理JSON数据,尤其在老版本的浏览器中,这些浏览器可能不支持原生的JSON解析和序列化功能。 在JavaScript中,JSON主要用于对象与字符串之间的转换...

    json.js,json2.js 和 json.jar 下载

    **json.js** 和 **json2.js** 是两个JavaScript库,用于在浏览器环境中处理JSON数据。`json.js`可能是早期的一个JSON处理库,它提供了JSON的解析(`parse()`)和字符串化(`stringify()`)功能,使得在不支持JSON的...

    json2.js压缩包

    《json2.js:JavaScript中的JSON解析与序列化》 在Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。JSON2....

    jsp使用JSON.stringify()引用的json2.js

    jsp使用JSON.stringify()引用的json2.js

    json2.js下载

    `json2.js` 是一个JavaScript库,由Douglas Crockford 创建,主要用于在那些不支持原生JSON解析和序列化的老版本浏览器上提供JSON功能。 在JavaScript中,JSON是一个内置对象,提供了`parse()`和`stringify()`两个...

    Json2.js.zip_json2.js

    `json2.js` 是由Douglas Crockford开发的一个JavaScript库,主要用于在那些不支持原生JSON解析和序列化的老旧浏览器中添加对JSON的支持。这个库对于学习和理解JSON在JavaScript中的应用至关重要。 标题中的"Json2....

    json2.js文件下载

    将JavaScript对象类型的参数通过JSON.stringify转换成字符串传递时,IE6、7、8会报:“JSON”未定义 的错误。可以通过在html文件的head头内引入json2.js文件来解决:

    json.js和json2.js

    标题中的“json.js”和“json2.js”可能是指两个不同的JSON解析和序列化库,用于JavaScript环境。这两个文件可能是为了在浏览器环境中处理JSON数据而提供的工具。下面分别对它们进行详细的解释: 1. **json.js**:...

    json2.js javascript

    json2.js 将对象JSON化: JSON.stringify(value, [replacer], [space]) 例子: $(document).ready(function () { $("#update").click(function () { var employee = { EmployeeName: $("#EmployeeName").val(),...

    JSON2.JS JSON.JS JSON_PARSE.JS

    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解析包】

    json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】。JavaScript中解析JSON的js包,页面中引入json3.js,即可使用。 使用方法:JSON.parse(str), JSON.stringify(obj) 更多详情请参考博文: ...

    jquery.json.min.2.3.0.js;json2.js

    在旧版的JavaScript引擎中,不支持原生的JSON对象,而json2.js提供了一个兼容的JSON解析和字符串化函数。即使在现代浏览器中,这个文件也可以作为一个安全的备份,确保在任何环境中都能处理JSON数据。 综上所述,...

    一个使用JSON-lib和json2.js的示例

    json2.js库解决了这个问题,它提供了parse()方法用于解析JSON字符串到JavaScript对象,以及stringify()方法用于将JavaScript对象转换成JSON字符串。 在上述的“一个使用JSON-lib和json2.js的示例”中,我们可以假设...

    json2.js(json.js)

    json2.js提供了json的序列化和反序列化方法,可以将一个json对象转换成json字符串,也可以将一个json字符串转换成一个json对象。

    json2.zip_json2_json2.js

    `json2.js`是由Douglas Crockford开发的一个JavaScript库,它的主要功能是为那些不支持原生JSON解析和字符串化的老版本JavaScript引擎提供JSON支持。 在JavaScript中,JSON对象主要用于处理JSON格式的数据。原生的...

    IE7等JSON兼容性问题解决,导入 json2.js

    适用于ie7以及ie6等无法使用json的浏览器。使用以下语句引入后就可以使用json了。 &lt;script src="json2.js" type="text/javascript"&gt;&lt;/script&gt;

    json3.js开发板和生产版本

    JSON.parse(jsonstr); 对JSON字符串反序列化成JSON对象;JSON.stringify(jsonobj); 将JSON对象序列化成JSON字符串,传到后台再进行反序列化, 官方地址 ...相对json.js与json2.js json3.js做了很多优化,建议使用

    json2.js包

    `json2.js`是一个JavaScript库,由 Douglas Crockford 创建,主要用于在不支持JSON的旧版浏览器中实现JSON的解析和序列化。 ### JSON2.js 的主要功能 1. **JSON解析**:`json2.js` 提供了一个`JSON.parse()`方法,...

Global site tag (gtag.js) - Google Analytics