我試圖字符串化多陣列,但沒有成功JSON.stringify(陣列)返回[]
var arr=new Array();
arr['do']='smth';
arr['asd']=[];
arr['asd']['dsa']='alo';
var string=JSON.stringify(arr)
console.log(arr);
console.log(string);
JSON.stringify
返回[]
我試圖字符串化多陣列,但沒有成功JSON.stringify(陣列)返回[]
var arr=new Array();
arr['do']='smth';
arr['asd']=[];
arr['asd']['dsa']='alo';
var string=JSON.stringify(arr)
console.log(arr);
console.log(string);
JSON.stringify
返回[]
你創建一個數組,並使用它,如果它是一個JSON對象。如果你需要一個對象,你應該創建一個對象。
如果你想在JavaScript中使用命名的鍵,你應該因爲JSON序列化程序忽略數組中的任何指定鍵,所以使用object。一條經驗法則是,你應該使用數組爲[0]
,[1]
等,但對於['foo']
對象,['bar']
等
var obj = {
'do': 'smth',
'asd': {
'dsa': 'alo'
}
};
console.log(JSON.stringify(obj));
//{"do":"smth","asd":{"dsa":"alo"}}
您不能給出數組名稱中的元素,他們將它們的指示符作爲名稱。所以,如果你想給他們的名字使用JS-對象,否則使用indizies的定義如下:
arr[0]='smth';
arr[1]=[];
arr[1][0]='alo';
記住,JSON代表JavaScript對象符號,你應該有所需的性能對象,而不是你正在創建一個數組,以便與{更換你的陣列},並加入到這個
使用對象:
var object = {};
object['do']='smth';
object['asd']=[];
object['asd']['dsa']='alo';
var string=JSON.stringify(object)
console.log(object);
console.log(string);
你剛剛建議他命名一個對象arr。 downvote只是讓他更加困惑。 –
沒錯。糾正。 – Stilltorik