【问题标题】:Can't JSON parse a string that contains leading zeros.无法 JSON 解析包含前导零的字符串。
【发布时间】:2015-12-11 18:12:57
【问题描述】:

当我将此字符串传递给 JSON.parse 时,它​​不起作用,但如果我删除“000634”上的前导零,它会起作用。有人知道为什么是这样吗?提前致谢。

这不起作用:

    var str = '[["first", "last", "XU10060282", "Dept", 000634, "Position", 156689]]';
    var dataArray = JSON.parse(str);
    console.log(dataArray);

这确实有效:

    var str = '[["first", "last", "XU10060282", "Dept", 1000634, "Position", 156689]]';
    var dataArray = JSON.parse(str);
    console.log(dataArray);

`

【问题讨论】:

  • 从技术上讲,您的示例中的 000634 是一个数字,而不是一个字符串。但这很奇怪——我只是在 Safari 中自己验证了它。我在错误控制台中收到“SyntaxError: JSON Parse error: Expected ']'”消息。

标签: json string parsing


【解决方案1】:

如果您不需要将其视为数字 634,将值括在引号中也可以:

var str = '[["first", "last", "XU10060282", "Dept", "000634", "Position", 156689]]';

【讨论】:

  • 有趣...我也可以尝试使用正则表达式删除零。
猜你喜欢
  • 1970-01-01
  • 2012-08-09
  • 2015-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多