【问题标题】:Parse JSON returns unexpected identifier error解析 JSON 返回意外的标识符错误
【发布时间】:2013-12-20 15:29:42
【问题描述】:

我正在尝试解析以下返回给我的 JSON 字符串,但在控制台中出现意外的标识符错误。

"{"title":"MyApp Companion","push_hash":"ff06b5b775e45409f9ab470b64d672d0","t":"mr","alert":"Ryjjgv","n":"Foo Bar","action":"open the app at specific location","pid":"7V8meRCJaj","badge":"Increment"}" 

我正在使用 zepto,但是 $.parseJSON() 方法抛出了错误。

【问题讨论】:

  • 控制台通常会告诉你错误发生在哪里
  • 假设最外面的引号不在您正在解析的实际文本中,这很好。如果是,那当然是你的问题。
  • 上下文是什么?如何获取 JSON?
  • 您可以使用JSONLint 等工具来验证您的 JSON。您的示例是一个有效的 JSON,没有前导和尾随 "
  • 我无法控制返回的字符串。然后我需要删除第一个和最后一个引号。

标签: javascript jquery json zepto


【解决方案1】:

您可能必须在字符串中转义引号,因为您的字符串如下所示:

"your string("your string")"

应该是这样的:

"your string(\"your string\")" 

或 '你的字符串(“你的字符串”)'

或: 删除你的第一个和最后一个引号

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    删除您的第一个和最后一个 " 或替换为 '

    "{
        "title": "MyApp Companion",
        "push_hash": "ff06b5b775e45409f9ab470b64d672d0",
        "t": "mr",
        "alert": "Ryjjgv",
        "n": "Foo Bar",
        "action": "open the app at specific location",
        "pid": "7V8meRCJaj",
        "badge": "Increment"
    }"
    

     '{
            "title": "MyApp Companion",
            "push_hash": "ff06b5b775e45409f9ab470b64d672d0",
            "t": "mr",
            "alert": "Ryjjgv",
            "n": "Foo Bar",
            "action": "open the app at specific location",
            "pid": "7V8meRCJaj",
            "badge": "Increment"
        }'
    

    网上有TOOL jsonlint.com,可以验证你的JSON

    【讨论】:

      【解决方案3】:

      因为您使用" 来分隔字符串文字,所以控制台将字符串内的" 解析为字符串分隔符。尝试使用' 来分隔文字:

      '{"title":"MyApp Companion", ... }'
      

      或者,您可以使用\ 转义字符串内的所有"

      "{\"title\":\"MyApp Companion\", ... }"
      

      【讨论】:

        【解决方案4】:

        试试这个:

        $.parseJSON('{"title":"MyApp Companion","push_hash":"ff06b5b775e45409f9ab470b64d672d0","t":"mr","alert":"Ryjjgv","n":"Foo Bar","action":"open the app at specific location","pid":"7V8meRCJaj","badge":"Increment"}')
        

        【讨论】:

        • 请说明问题及解决方法。不要只写“试试这个”。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-28
        • 1970-01-01
        • 2013-11-06
        • 2018-03-27
        相关资源
        最近更新 更多