2013-10-30 144 views
-2

嗨有沒有其他方法可以評估json字符串。評估json錯誤

我的例子:

var json='[{ data: {id:"oxid"},group:"nodes"},{ data: {id:"e40", source:"HK1",target:"oxid"},group:"edges"},{ data: {id:"skeletal muscles"},group:"nodes"},{ data: {id:"e41", source:"HK1",target:"skeletal muscles"},group:"edges"},{ data: {id:"atp"},group:"nodes"},{ data: {id:"e42", source:"HK1",target:"atp"},group:"edges"},{ data: {id:"mitochondria"},group:"nodes"},{ data: {id:"e43", source:"HK1",target:"mitochondria"},group:"edges"},{ data: {id:"mitochondrial"},group:"nodes"},{ data: {id:"e44", source:"HK1",target:"mitochondrial"},group:"edges"},{ data: {id:"metabolism"},group:"nodes"},{ data: {id:"e45", source:"HK1",target:"metabolism"},group:"edges"},{ data: {id:"rat"},group:"nodes"},{ data: {id:"e46", source:"HK1",target:"rat"},group:"edges"},{ data: {id:"binding"},group:"nodes"},{ data: {id:"e47", source:"HK1",target:"binding"},group:"edges"},{ data: {id:"HK1"},group:"nodes"},]'; 

看來我不能使用JSON.parse()來或jQery.parseJSON()來評價它,有錯誤出現。謝謝。

更新:字符串是由我的程序自動創建的,我使用javascript來連接幾個字符串變量來獲取變量json。 json字符串並不是硬編碼的。其實,我可以使用eval(json),它工作正常,但我聽說在我的javascript中使用eval()會很危險。

+4

爲什麼不修復錯誤?只需將你的屬性名稱放在引號中。並失去尾隨的逗號。 (因爲它是無效的JSON。) – nnnnnn

+1

爲什麼不刪除外部單引號並創建一個JavaScript對象? – Pointy

+0

哈,好點@Pointy。 (我想我假設OP沒有真正直接在他們的JS中硬編碼字符串) – nnnnnn

回答

1

如果您使用JavaScript,請使用JavaScript I.E.構建對象。 Java腳本對象表示法:

var myJson = []; 

myJson.push({ 
    data: {id:"oxid"}, 
    group:"nodes" 
}); 
+0

對不起,我用javascript來連接幾個字符串,很抱歉讓你迷惑! – LEON

+0

根據您的反饋更新了答案。 –

+0

感謝您的回覆,它仍然無法正常工作,無法讀取'd'錯誤。 – LEON