2012-02-29 79 views
0

嗨,我是比較新的JS和不斷收到錯誤missing] after element list當我嘗試運行以下命令:JSON埃維爾()錯誤:缺少]之後元素列表

呼籲test.JSON一個JSON文件:

{ 
"156644": { 
    name: "name1", 
    "street": "street1", 
    "city": "city1" 
}, 
"68656": { 
    "name": "name2 ", 
    "street": "street2", 
    "city": "city1" 
}, 
"388655": { 
    "name": "name3", 
    "street": "street3", 
    "city": "city1" 
}, 
"4564": { 
    "name": "name4", 
    "street": "street4", 
    "city": "city1" 
}, 
"6333": { 
    "name": "name5", 
    "street": "street5", 
    "city": "city1" 
} 
} 

而且一些JavaScript:

var myObject = eval("(" + $.getJSON("test.json") + ")"); 

我怎樣才能解決這個問題?

+2

$ .getJSON()返回它已經找到的JSON,你不需要eval()它。 – 2012-02-29 22:15:53

+0

您遺漏了您的一個屬性名稱,名字爲:「name1」 – Dampsquid 2012-02-29 22:18:07

+0

我懷疑test.json是不可訪問的請提供一個jsFiddle和一個附件以及該文件。子對象 – mozillanerd 2012-02-29 22:35:00

回答

1

getJSON功能:

  1. 將解析JSON成JavaScript對象爲您服務。請勿觸摸eval
  2. 是異步的,通過回調沒有返回值

所以處理數據:

$.getJSON("test.json", handleData); 

function handleData(data) { 
    console.log(data); 
} 

你也有你的JSON數據語法錯誤。使用http://jsonlint.com/來查明它。