2013-05-27 61 views
0

我在我的JavaScript代碼中使用JSOn。的JavaScript得到以下JSON消息:在JavaScript中解析嵌套的JSON - 什麼是無效字符

{"param1":1, "param2":{"aaa":1,"bbb":2,"ccc":3}, "param3":true} 

在JavaScript中我寫了下面的代碼:

parsedArgs = JSON.parse(args); 
alert(parsedArgs.param2); 
parsedArgs.param2= JSON.parse(parsedArgs.param2); 

在警告我可以看到[Object對象] 但JSON.parse(parsedArgs.param2) SyntaxError失敗:invalidcharacter。

我想獲取param2的內部參數,但JSON解析器不工作。 你能幫我嗎?我的問題是什麼?

感謝

+2

是不是你缺少關於param2引號? –

+0

是的,我編輯了這個問題。謝謝 – gln

+0

'JSON.parse()'期望一個JSON字符串,而不是任意的JavaScript變量。看LightStyle的答案。 –

回答

2

問題缺少引號是你解析你的JSON字符串太多時間。 JSON.parse是一個遞歸函數,它使用JSON格式將字符串轉換爲有效的JS對象。這意味着,一旦你用第一個分析了它,你就不必再解析對象的屬性,因爲它們已經被解析了。例如,您可以直接訪問parsedArgs.param2.aaa

0

在參數2

{ 
    "param1": 1, 
    "param2": { 
     "aaa": 1, 
     "bbb": 2, 
     "ccc": 3 
    }, 
    "param3": true 
} 
+0

我編輯了我的問題,抱歉我的錯誤。 – gln