json 實(shí)例詳細(xì)說明教程
更新時間:2009年10月31日 22:18:36 作者:
這是個人在最近使用json時做的總結(jié),拿出來給沒接觸過的小弟們曬曬,適用與沒接觸過json的人員,其中json2。js請到j(luò)son官網(wǎng)下載。
官方網(wǎng)站地址:http://www.json.org/json-zh.html
json2.js 腳本之家下載地址
<script type="text/javascript" src="json2.js"></script>
<script>
//直接聲明json數(shù)據(jù)結(jié)構(gòu)
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
//聲明字符串,可對比一下json文本與我們正常文本的區(qū)別
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"} ]}]';
//調(diào)用eval函數(shù)轉(zhuǎn)換為json對象,
var myE = eval(normalstring);
document.writeln(myE+'<br><br>');
//將json對象轉(zhuǎn)換為字符串
var text = JSON.stringify(myE);
//對比轉(zhuǎn)換后的json文本與聲明的文本區(qū)別
document.writeln('轉(zhuǎn)換后的json文本:'+text+'<br><br>聲明的json格式文本 '+jsontext+'<br><br>聲明的普通格式文本 '+normalstring+'<br><br>');
//當(dāng)安全比較重要的時候使用JSON解析就好一些。JSON解析只會識別JSON文本并且它更安全,下面調(diào)用json的parse函數(shù)對文本數(shù)據(jù)轉(zhuǎn)換生成json數(shù)據(jù)結(jié)構(gòu)
var myData = JSON.parse(jsontext);
document.writeln(myData+'<br><br>');
//下面是對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對象的操作,去掉注釋可以查看操作結(jié)果
//jsonObj2.persons.push(person);//數(shù)組最后加一條記錄
//jsonObj2.persons.pop();//刪除最后一項(xiàng)
//jsonObj2.persons.shift();//刪除第一項(xiàng)
jsonObj2.persons.unshift(person);//數(shù)組最前面加一條記錄 只要適合Javascript的方法都是可以用在JSON對象的數(shù)組中的!所以還有另外的方法splice( )進(jìn)行crud操作! //刪除
//jsonObj2.persons.splice(0,2);//開始位置,刪除個數(shù)
//替換不刪除
var self={name:"tom",sex:"m",age:"24"};
var brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(1,0,self,brother,self);//開始位置,刪除個數(shù),插入對象
//替換并刪除
//jsonObj2.persons.splice(0,1,self,brother);//開始位置,刪除個數(shù),插入對象
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);
//轉(zhuǎn)換為json文本
var myjsonobj = JSON.stringify(jsonObj2);
document.writeln(myjsonobj);
</script>
json2.js 腳本之家下載地址
復(fù)制代碼 代碼如下:
<script type="text/javascript" src="json2.js"></script>
<script>
//直接聲明json數(shù)據(jù)結(jié)構(gòu)
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
//聲明字符串,可對比一下json文本與我們正常文本的區(qū)別
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"} ]}]';
//調(diào)用eval函數(shù)轉(zhuǎn)換為json對象,
var myE = eval(normalstring);
document.writeln(myE+'<br><br>');
//將json對象轉(zhuǎn)換為字符串
var text = JSON.stringify(myE);
//對比轉(zhuǎn)換后的json文本與聲明的文本區(qū)別
document.writeln('轉(zhuǎn)換后的json文本:'+text+'<br><br>聲明的json格式文本 '+jsontext+'<br><br>聲明的普通格式文本 '+normalstring+'<br><br>');
//當(dāng)安全比較重要的時候使用JSON解析就好一些。JSON解析只會識別JSON文本并且它更安全,下面調(diào)用json的parse函數(shù)對文本數(shù)據(jù)轉(zhuǎn)換生成json數(shù)據(jù)結(jié)構(gòu)
var myData = JSON.parse(jsontext);
document.writeln(myData+'<br><br>');
//下面是對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對象的操作,去掉注釋可以查看操作結(jié)果
//jsonObj2.persons.push(person);//數(shù)組最后加一條記錄
//jsonObj2.persons.pop();//刪除最后一項(xiàng)
//jsonObj2.persons.shift();//刪除第一項(xiàng)
jsonObj2.persons.unshift(person);//數(shù)組最前面加一條記錄 只要適合Javascript的方法都是可以用在JSON對象的數(shù)組中的!所以還有另外的方法splice( )進(jìn)行crud操作! //刪除
//jsonObj2.persons.splice(0,2);//開始位置,刪除個數(shù)
//替換不刪除
var self={name:"tom",sex:"m",age:"24"};
var brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(1,0,self,brother,self);//開始位置,刪除個數(shù),插入對象
//替換并刪除
//jsonObj2.persons.splice(0,1,self,brother);//開始位置,刪除個數(shù),插入對象
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);
//轉(zhuǎn)換為json文本
var myjsonobj = JSON.stringify(jsonObj2);
document.writeln(myjsonobj);
</script>
相關(guān)文章
一篇了解JSON與數(shù)據(jù)存儲基礎(chǔ)知識
這篇文章主要介紹了JSON與數(shù)據(jù)存儲基礎(chǔ)知識,本篇文章較為基礎(chǔ),但非常詳細(xì),可以很好的理解JSON和數(shù)據(jù)存儲,,需要的朋友可以參考下2023-01-01利用NodeJS的子進(jìn)程(child_process)調(diào)用系統(tǒng)命令的方法分享
child_process即子進(jìn)程可以創(chuàng)建一個系統(tǒng)子進(jìn)程并執(zhí)行shell命令,在與系統(tǒng)層面的交互上挺有用處2013-06-06把普通對象轉(zhuǎn)換成json格式的對象的簡單實(shí)例
下面小編就為大家?guī)硪黄哑胀▽ο筠D(zhuǎn)換成json格式的對象的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07淺談JsonObject中的key-value數(shù)據(jù)解析排序問題
下面小編就為大家分享一篇淺談JsonObject中的key-value數(shù)據(jù)解析排序問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12詳解Java中String JSONObject JSONArray List<實(shí)體類>轉(zhuǎn)換
這篇文章主要介紹了詳解String JSONObject JSONArray List<實(shí)體類>轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11改進(jìn)版通過Json對象實(shí)現(xiàn)深復(fù)制的方法
改進(jìn)版通過Json對象實(shí)現(xiàn)深復(fù)制的方法,需要的朋友可以參考下2012-10-10