我工作的代碼,但它有點失敗:我的JSON響應是一個有效的JSON,因爲我在JSOnLint.com上檢查它。JSON解析問題代碼
因此,這裏是它如果我開始我的JSON具有以下製造麻煩
$.post("items.cfm",{"term":request.term})
.done(function(data){
alert(data);
try{
var obj = $.parseJSON(data),
values = [];
alert(obj[x].id.split('~')[3]);
for(var x = 0; x < obj.length; x++){
values.push({
"label":obj[x].text, "value":obj[x].id,
"price":obj[x].id.split('~')[3]
});
}
response(values);
} catch(e) {
alert(e);
}
})
的一段代碼:
{
"text": "Blue CPR Pocket Mask",
"id": "128177000003239005~Blue~YES~10.75"
}, {
"text": "CPR Face Shields",
"id": "128177000000138987~CPs~YES~41.83"
}
...它拋出一個錯誤:
SyntaxError: Unexpected token , in JSON at position
...但如果我以:
[{
"text": "Blue CPR Pocket Mask",
"id": "128177000003239005~Blue~YES~10.75"
}, {
"text": "CPR Face Shields",
"id": "128177000000138987~CPs~YES~41.83"
}
]
一個有效的JSON,但它與我的代碼失敗,因爲我試圖解析它並使用它的值,但它對我說,ID是未定義的。所以我應該怎麼做才能使它工作。
更新#1
我跟每個人的方法,給了一個嘗試,現在開始我下面的錯誤
TypeError: Cannot use 'in' operator to search for '4592' in
您有兩個JSON對象,而不是一個。因此,將它們視爲兩個不同的對象,或將它們組合爲另一個對象的數組或內部對象。而且,你爲什麼要解析?它已經是JSON了,不是嗎? – RaR
你的try裏面有多少'console.log(obj)'返回? –