【问题标题】:JSON.parse SyntaxError: Invalid or unexpected tokenJSON.parse SyntaxError:无效或意外的令牌
【发布时间】:2017-10-08 20:12:36
【问题描述】:

试图解析这些数据:

{ id: 'abc',
    name: 'abc',
    '24h_total': '370029.0',
    last_updated: '1501633446' }

试图在上面的rest api响应上运行这段代码.....

var jsondata =  JSON.parse(body);
var values = [];
console.log(jsondata);

for(var i=0; i< jsondata.length; i++){
     //how do i access this property?
     console.log(jsondata[i].24h_total);
}

此时我得到一个错误

    jsondata[i].24h_total, 
               ^^^

SyntaxError: 无效或意外的令牌

我确定这是因为此字段名称以数字开头。

提前致谢。

【问题讨论】:

  • 这不是有效的 JSON - 请参阅 json.org - 它需要是 {"id":"abc","name":"abc","24h_total":"370029.0","last_updated":"1501633446"} .. 注意 ... 所有键和所有字符串都包含在 "..." ... '...'不是有效的 JSON
  • 哦,等等,我明白了,你歪曲了你所拥有的实际 JSON ......是的,事实是 JS 中的变量名不能以数字开头

标签: javascript node.js


【解决方案1】:

您需要像这样访问该属性,因为它不是有效的 javascript 标识符:

console.log(jsondata[i]['24h_total']);

【讨论】:

    【解决方案2】:

    像这样访问该属性:

    jsondata[i]['24h_total']

    这将修复错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-12
      • 2021-09-21
      • 2020-07-12
      • 2017-09-29
      • 2018-12-03
      • 2021-08-14
      • 1970-01-01
      • 2016-10-17
      相关资源
      最近更新 更多