我需要一個簡單的幫助來解決這個問題,我正在嘗試將 JSON 字串轉換為兩個陣列,請看示例:
// What I have
var str = '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}';
// What I need:
var array1 = {"id":1,"name":"Test1"};
var array2 = {"id":2,"name":"Test2"};
我嘗試使用JSON.parse(str),但沒有成功,如下所示:
//Works:
var str = '{"id":1,"name":"Test1"}';
dataObj = JSON.parse(str);
console.log(dataObj)
//Doesn't work:
var str = '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}';
dataObj = JSON.parse(str);
console.log(dataObj)
有什么建議嗎?
uj5u.com熱心網友回復:
您要做的就是將物件放入陣列中
var str = '[{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}]';
dataObj = JSON.parse(str);
console.log(dataObj)
然后:
var array1 = dataObj[0];
var array2 = dataObj[1];
uj5u.com熱心網友回復:
您沒有正確格式化 JSON 字串。
應該是var str = '[{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}]';
uj5u.com熱心網友回復:
問題是 '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}' 不是有效的 JSON 格式。
試試這個:
var str = '[{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}]';
dataObj = JSON.parse(str);
console.log(dataObj)
如果要將物件分配給兩個單獨的變數(如您所述):
var obj1 = dataObj[0];
var obj2 = dataObj[1];
我重命名了變數名,因為分配給變數的是物件,而不是陣列
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468430.html
標籤:javascript 数组 json
上一篇:顫振串列視圖填充
