在數據傳輸流程中迈喉,json是以文本,即字符串的形式傳遞的温圆,而JS操作的是JSON對象挨摸,所以,JSON對象和JSON字符串之間的相互轉換是關鍵岁歉。例如:
JSON字符串:
var str = '{ "name": "haorooms", "sex": "man" }';
JSON對象:
var str2 = { "name": "haorooms", "sex": "man" };
一得运、JSON字符串轉換為JSON對象
var obj = eval('('+str+')');
var obj2 = JSON.parse(str);
特別注意:如果object本來就是一個JSON對象,那么運用 eval()函數轉換后(哪怕是多次轉換)還是JSON對象
二锅移、可以運用全局要領 JSON.stringify()將JSON對象轉化為JSON字符串熔掺。
var last=JSON.stringify(obj); //將JSON對象轉化為JSON字符
console.log(last);
三、便利JSON數據的幾種常用方法
第一種:通過JQ.each()方法
;$(function () {
var tbody = "";
//遍歷對象 .each的使用
//對象語法JSON數據格式(當服務器端回調回來的對象數據格式是json數據格式,
// 必須保證JSON的格式要求,回調的對象必須使用eval函數進行轉化(否則將得不到Object)爹橱。
// 本文不作詳細介紹服務器端回調的數據問題藏雏,我們將直接自定義對象)
var obj = [{ "name": "ldx", "password": "123456"},{"name":'wyq',"password":"123"}];
//下面使用each進行遍歷 第一個參數JSON對象 第二個參數是執(zhí)行的函數(第一個參數是索引,第二個參數是JSON對象)
$.each(obj, function (n, value) {
console.log(n + ' ' + value);
var trs = "";
trs += "<tr><td>" + value.name + "</td> <td>" + value.password + "</td></tr>";
tbody += trs;
});
$("#a").html(tbody);
});
第二種 js for循環(huán)嵌入for in循環(huán)
var json = [{sex:'♀',age:'18',re1:123},{sex:'♂',age:'19'}];
for(var i=0,l=json.length;i<l;i++){
for(var key in json[i]){
alert(key+':'+json[i][key]);
}
}
第三種 for in 循環(huán)
var json = {sex:'♀',age:'18',re1:123};
for(var key in obj){
str = str+obj[key]+',';
return str;
}