2013-05-27 34 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