【问题标题】:JSON Lint throwing parsing errorJSON Lint 抛出解析错误
【发布时间】:2015-08-17 08:55:46
【问题描述】:

JSON Lint 抛出以下字符串的解析错误。我说它是字符串,因为我以字符串格式获取了这些数据,然后生成了这段代码。它不是一个有效的 JSON 吗?请帮忙

 [
        ​{
            "x": "57",
            "y": "30",
            "z": "20",
            "name": "xyz"
        },
        {
            "x": "0",
            "y": "0",
            "z": "20",
            "name": "ss"
        }
    ]

【问题讨论】:

  • 使用复制粘贴将 JSON 放入您的问题而不是重新输入,做得很好。如果你重新输入它(就像人们那样,我不知道为什么)我无法回答。

标签: json jsonlint


【解决方案1】:

如果在第一个 { 之前没有不可见字符(零宽度空格),那将是有效的 JSON。解析器阻塞的正是那个字符U+200B

【讨论】:

  • 哦,怎么去掉?
  • @RajatAgarwal:嗯,它不应该存在,它是生成 JSON 的任何东西的错误。所以最好的办法是修复任何生成无效 JSON 的东西。作为次优后备,您可以在解析之前将其从字符串中删除,例如str = str.replace(/\u200B/g, "");(那是 JavaScript;我不知道您使用什么环境进行处理,但大概它有一种从字符串中删除字符的方法)。当然,这也会从 JSON 中的字符串中删除它,它可能是有效的。
  • 感谢您的回复。我只使用 JavaScript,我想要 JSON,以便我可以将其输入 Fusion Charts 以显示图表。
  • 最好的检查方法之一是在kadebom.com/jsonlint.html 或 jsonlint.com 之类的网站上
猜你喜欢
  • 2017-07-15
  • 2016-08-02
  • 1970-01-01
  • 2021-08-09
  • 1970-01-01
  • 2011-07-17
  • 2018-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多