【问题标题】:Trying to parse a JSON string, but always fails尝试解析 JSON 字符串,但总是失败
【发布时间】:2011-09-06 23:07:44
【问题描述】:

这段 JSON 就在这里:

{"user":[{"idUser":"1","username":"USERNAME","userFullName":"FULL NAME","userEmail":"EMAIL@MAIL.COM"}]}

不在jsonlint 中验证,也不适用于 GWT。

奇怪的是,如果我删除第一个花括号并再次键入它,它会返回有效。 这是它给出的错误:

Parse error on line 1:
{    "user": [   
^
Expecting '{', '['

有什么理由吗?请注意,我使用 PHP 来生成此字符串。使用的 PHP 文件是 UTF-8 编码的。

【问题讨论】:

  • jsonlint 说它是有效的。至少这是我得到的。我认为当您第一次尝试验证它时,它并不完全是一个大括号。
  • 它前面可能原本有一些垃圾。
  • 谁一直支持这样的问题?我不明白。
  • 可能是BOM(字节序标记)……
  • @Tomalak Geret'kal:提出问题的官方要求是什么?您可能想在 meta 上查看:meta.stackexchange.com/questions/139/…

标签: php json gwt utf-8 jsonlint


【解决方案1】:

当我将它复制/粘贴到 JSONLint 中时,它通过了。

你做错了什么。

【讨论】:

  • 另外,PHP 函数 json_decode() 可以正确解析它。试过here
【解决方案2】:

感谢@knittl 注意到它。

我的 php 文件以 UTF-8 编码。

我将其更改为 UTF-8 without BOM 并且有效。我想当我将它复制到 jsonlint 时返回了一些“垃圾”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多