你似乎對JSON的含義模糊不清。 JSON是一種用於交換數據的基於字符串的格式。在JavaScript正常編程的過程中,它並沒有被使用,也沒有關係,除非您將數據發送到某個地方,或者從JSON格式的某個地方接收數據。
我已經由字符串化,這導致JSON這樣轉換該陣列分成JSON:
var view_data = [{ f o o = " boo " , t e x t = "t e s t " }];
JSON.stringify
需要JavaScript對象並將其轉換成一個基於字符串的格式。因此這是不可能的。如你所示,JSON.stringify
將總是返回一個字符串,而不是(破碎的)JS對象。
在您的示例數據中,您在屬性名稱中顯示了額外的空格:"f o o"
而不是"foo"
。如果事實上這就是你如何試圖指定你的JS對象,那麼它根本無法工作。這是無效的語法。使用等號也是無效的語法;你需要冒號。
如果你正確地定義你的JS對象,那麼你表現的代碼將正常工作:
var view_data = [{foo: "boo" , text: "test"}];
for (var d=0; d<view_data.length; d++) {
print view_data[d].foo;
}
訪問產生的JSON字符串化通過
你不訪問由字符串化JSON產生。 JSON是一種字符串格式,僅用於與某些外部系統進行通信。
那麼應該如何訪問數組作爲JSON對象
有一個JSON對象沒有這樣的事情。有JSON,這是一個字符串;並有JavaScript對象。
有關JavaScript對象與JSON的更多信息,請參閱How to parse variables to JSON Object (Javascript)。
stringify的輸出是一個字符串,而不是一個對象 – saljuama
然後應該如何訪問該數組作爲json對象 –