㈠ js解析json數據並將json字元串轉化為數組的實現方法
在JavaScript中,解析JSON數據並將其轉化為數組的操作非常直觀,主要藉助於`eval()`函數。例如,對於一個包含嵌套對象和數組的JSON字元串`t`,我們可以通過以下步驟進行處理:
這段代碼首先定義了一個包含復雜結構的JSON字元串,然後使用`eval()`函數將其轉化為JavaScript對象。接著,通過循環遍歷數組,我們可以訪問和操作其中的每個元素。值得注意的是,`eval()`函數在處理JSON時可能存在安全風險,推薦使用專門的JSON解析器進行處理,以避免惡意代碼執行。
㈡ js怎麼把json字元串轉換成對象數組
第一種
JSON.parse(jsonString)
第二種
eval("("+jsonString+")")
第三種
var obj=(function ToJSON(o){
if(typeof(o)=="string")try{return new Function("return "+o)();}catch(e){return null;}
})("[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}]");
for(var b in obj)alert(obj[b].name);
㈢ JS中如何把JSON格式的字元串轉化為一個對象或數組呢
通常都是用eval()函數來進行轉換的,例如:var
sJson
=
'{a:
1}';var
o
=
eval('('
+
sJson
+
')');alert(o.a);如果是數組的話,也是類似的,在字元串兩邊專各加上一個小屬括弧,然後用eval()函數將其轉換為數組,再賦值給某個變數,就可以直接使用了。
㈣ 前台js 取json 對象數組數據
1、先定義一個json變數。
㈤ js將字元串轉換成對象和數組
可以這樣轉換(兼容性較好的做法):
varmsg='{A:[{name:"阿克蘇",spell:"akesu"}]}';//字元串類型的JSON數據
varjson=null;
try{
json=(newFunction('return'+msg))();
}catch(e){
//如果JSON數據格式有錯誤,進行錯誤處理
console.log('數據錯誤');
}
---------
利用現代瀏覽器的特性的另一種做法是:
varmsg='{A:[{name:"阿克蘇",spell:"akesu"}]}';//字元串類型的JSON數據
varjson=JSON.parse(msg);//直接利用JSON對象進行解析
缺點就是某些瀏覽器不一定支持
---------
反過來,如果要將對象轉換成字元串,可以這樣做,見下面代碼(適用於現代瀏覽器,幾十年前的IE6什麼的運行不起來):
varjsons={A:[{name:"阿克蘇",spell:"akesu"}]};//JS對象
varstr=JSON.stringify(jsons);//轉化對象為字元串
console.log(str);//測試-輸出字元串
㈥ JS解析json數據(怎麼將json字元串轉化為數組)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] }";
var jsonobj=eval('('+t+')');
alert(jsonobj.firstName);
alert(jsonobj.lastName);
var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";
var myobj=eval(t2);
for(var i=0;i<myobj.length;i++){
alert(myobj[i].name);
alert(myobj[i].age);
}
var t3="[['<a href=# onclick=openLink(14113295100,社旗縣國稅局橋頭稅務所,14113295100,,swjg_dm);>14113295100</a>','社旗縣國稅局橋頭稅務所','社旗縣城郊鄉長江路西段']]";
//通過eval() 函數可以將JSON字元串轉化為對象
var obj = eval(t3);
for(var i=0;i<obj.length;i++){
for(var j=0;j<obj[i].length;j++){
alert(obj[i][j]);
}
}
/*
//stringifier 函數的作用跟 parse 相反, 用來將一個js對象轉換為 JSON 文本。
var jsonText = JSON.stringify(obj);
alert(jsonText);
//如果基於安全的考慮的話,最好是使用一個 JSON 解析器。 一個 JSON 解析器將只接受 JSON 文本。所以是更安全的。
var myObject = JSON.parse(myJSONtext, filter);
//可選的 filter 參數將遍歷每一個value key 值對, 並進行相關的處理。如:
//如
myData = JSON.parse(text, function (key, value) {
return key.indexOf('date') >= 0 ? new Date(value) : value; });
//stringifier 函數的作用跟 parse 相反, 用來將一個js對象轉換為 JSON 文本。
var myJSONText = JSON.stringifier(myObject);
*/
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>