JS對(duì)JSON的操作總結(jié)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
對(duì)于前端完全是菜鳥(niǎo),迫于無(wú)奈,工作中要用到JS,尤其對(duì)JSON的處理為多,網(wǎng)上搜了一下,所講的基本雷同。所以把平時(shí)用的比較多的JSON處理方法總結(jié)了一下,權(quán)當(dāng)加深記憶。 一、概述 JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,采用完全獨(dú)立于語(yǔ)言的文本格式,是理想的數(shù)據(jù)交換格式。同時(shí),JSON是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON數(shù)據(jù)不須要任何特殊的 API 或工具包。 在JSON中,有兩種結(jié)構(gòu):對(duì)象和數(shù)組。 1.對(duì)象 一個(gè)對(duì)象以“{”開(kāi)始,“}”結(jié)束。每個(gè)“key”后跟一“:”,“‘key/value’ 對(duì)”之間運(yùn)用 “,”分隔。 packJson = {"name":"nikita", "password":"1111"} 2.數(shù)組 packJson = [{"name":"nikita", "password":"1111"}, {"name":"tony", "password":"2222"}]; 數(shù)組是值的有序集合。一個(gè)數(shù)組以“[”開(kāi)始,“]”結(jié)束。值之間運(yùn)用 “,”分隔。 二、JSON對(duì)象和JSON字符串的轉(zhuǎn)換 在數(shù)據(jù)傳輸流程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對(duì)象,所以,JSON對(duì)象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵。例如: JSON字符串: var jsonStr = '{"name":"nikita", "password":"1111"}'; JSON對(duì)象: var jsonObj = {"name":"nikita", "password":"1111"}; 對(duì)于前端完全是菜鳥(niǎo),迫于無(wú)奈,工作中要用到JS,尤其對(duì)JSON的處理為多,網(wǎng)上搜了一下,所講的基本雷同。所以把平時(shí)用的比較多的JSON處理方法總結(jié)了一下,權(quán)當(dāng)加深記憶。 一、概述 JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,采用完全獨(dú)立于語(yǔ)言的文本格式,是理想的數(shù)據(jù)交換格式。同時(shí),JSON是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON數(shù)據(jù)不須要任何特殊的 API 或工具包。 在JSON中,有兩種結(jié)構(gòu):對(duì)象和數(shù)組。 1.對(duì)象 一個(gè)對(duì)象以“{”開(kāi)始,“}”結(jié)束。每個(gè)“key”后跟一“:”,“‘key/value’ 對(duì)”之間運(yùn)用 “,”分隔。 packJson = {"name":"nikita", "password":"1111"} 2.數(shù)組 packJson = [{"name":"nikita", "password":"1111"}, {"name":"tony", "password":"2222"}]; 數(shù)組是值的有序集合。一個(gè)數(shù)組以“[”開(kāi)始,“]”結(jié)束。值之間運(yùn)用 “,”分隔。 二、JSON對(duì)象和JSON字符串的轉(zhuǎn)換 在數(shù)據(jù)傳輸流程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對(duì)象,所以,JSON對(duì)象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵。例如: JSON字符串: var jsonStr = '{"name":"nikita", "password":"1111"}'; JSON對(duì)象: var jsonObj = {"name":"nikita", "password":"1111"}; 2、String轉(zhuǎn)換為Json var myObject = eval('(' + myJSONtext + ')'); eval是js自帶的函數(shù),不是很安全,可以考慮用json包。 三、遍歷JSON對(duì)象 myJson = {"name":"nikita", "password":"1111"};
for(var p in myJson){//遍歷json對(duì)象的每個(gè)key/value對(duì),p為key
alert(p + " " + myJson ); } 運(yùn)行結(jié)果: 四、遍歷JSON數(shù)組 packJson = [
{"name":"nikita", "password":"1111"},
{"name":"tony", "password":"2222"}
];
for(var p in packJson){//遍歷json數(shù)組時(shí),這么寫(xiě)p為索引,0,1
alert(packJson .name + " " + packJson.password); } 我更傾向于這種寫(xiě)法: for(var i = 0; i < packJson.length; i++){ alert(packJson.name + " " + packJson.password); } 運(yùn)行結(jié)果:
五、將兩個(gè)JSON對(duì)象組裝到一個(gè)里面 //targetJson 目標(biāo)JSON,packJson 被組裝JSON
function addGroupJson(targetJson, packJson){
if(targetJson && packJson){
for(var p in packJson){
targetJson = packJson ; } } } 用法如下: var json1 = {"name":"nikita"}; var json2 = {"password":"1111"}; addGroupJson(json1, json2); alert(json2str(json1)); 運(yùn)行結(jié)果: 該文章在 2015/7/9 16:31:09 編輯過(guò) |
相關(guān)文章
正在查詢... |