在JavaScript中解析JSON会导致SyntaxError:意外的令牌

时间:2017-04-24 16:31:29

标签: javascript json parsing

所以我一直试图在javascript中解析JSON而没有成功。

所以打印我的JSON对象body(我从服务器端读取),它看起来像下面的

{
    "key1": "value1",
    "results": 
    [
        {
            "key2":"value2",
            "key3": "value3"
        }
    ]
}

每当我尝试解析它(见下文)时,我总是得到错误SyntaxError: Unexpected token

console.log('results: ', JSON.parse(body).results)
console.log('results: ', JSON.parse(body)['results'])

我在这里检查了类似的问题,并尝试了不同的其他方法(如下所示),但是我总是得到不确定的结果。

console.log('results: ', body.results)
console.log('results: ', body['results'])

console.log('results: ', JSON.stringify(body).results)
console.log('results: ', JSON.stringify(body)['results'])

console.log('results: ', JSON.parse(JSON.stringify(body)).results)
console.log('results: ', JSON.parse(JSON.stringify(body))['results'])

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

一些观察结果:

  • 由于您已经拥有JSON object,因此无需再次解析它。
  • 您可以直接使用body.results的{​​{1}}内容。
  • 首先尝试理解概念JSON.stringify()JSON.parse()

    <强>样本

JSON.parse(body).results

答案 1 :(得分:0)

问题出在我收到的JSON中。它是手动构建的,几乎没有问题。由于我正在处理一个现有的项目(不是我从头开始的),我没有假设JSON生成本身存在错误。

我使用ObjectNode来构建我的json,它工作得很好