日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

json2.js的初步学习与了解(转)

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 json2.js的初步学习与了解(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載來源:http://apps.hi.baidu.com/share/detail/6092406

?

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>

?

?

?

?

轉載于:https://www.cnblogs.com/beijia/archive/2011/10/05/json2.html

總結

以上是生活随笔為你收集整理的json2.js的初步学习与了解(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。