0

我在我的 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 object] 但 JSON.parse(parsedArgs.param2) 失败并出现 SyntaxError: invalidcharacter。

我想获取 param2 的内部参数,但 JSON 解析器不起作用。你能帮我么?我的问题是什么?

谢谢

4

2 回答 2

2

问题是您解析 JSON 字符串的时间过长。JSON.parse是一个递归函数,它使用 JSON 格式将字符串转换为有效的 JS 对象。这意味着一旦你用第一个解析它,JSON.parse你就不必再次解析对象的属性,因为它们已经被解析了。例如,您可以直接访问它parsedArgs.param2.aaa

于 2013-05-27T08:39:32.000 回答
0

param2 中缺少引号

{
    "param1": 1,
    "param2": {
        "aaa": 1,
        "bbb": 2,
        "ccc": 3
    },
    "param3": true
}
于 2013-05-27T08:39:22.297 回答