【问题标题】:JSON Parse : Uncaught SyntaxError: Unexpected token , JavaScript [closed]JSON解析:未捕获的语法错误:意外的令牌,JavaScript [关闭]
【发布时间】:2016-06-11 19:46:26
【问题描述】:

我有一个变量:

var value=[
{"0","0",650,"0","0",357,"0","0","0","0",200,"0",48,"0",3053,"0","0","0","0","0",45,50}
,{"0","0",299,101,"0",126,"0","0","0","0",630,"0","0",88,3157,"0","0","0","0","0",10,21}
,{"0","0",123,3030,"0",368,"0","0","0","0","0","0",76,-44,1967,"0","0","0","0","0",29,64}
,{"0","0",88,343,"0",320,"0","0","0","0","0","0",175,"0",336,"0","0","0","0","0",21,98}
,{"0","0",503,410,"0",1127,"0","0","0","0","0","0",77,87,1264,"0","0","0","0","0",5,128}
,{"0","0",1754,607,40,2565,"0","0","0","0","0","0",102,70,12506,"0","0","0","0","0",178,1966}
,{"0","0","0","0",60,153,"0","0","0","0","0","0","0","0","0","0","0","0","0","0",15,"0"}
]
var result= JSON.parse(value);

当我在 JavaScript 中将其解析为 JSON 时,出现错误:

Uncaught SyntaxError: Unexpected token,

【问题讨论】:

  • 在来到这里之前,您可以将其粘贴到许多 json 验证器中。更不用说这里甚至没有问题
  • 不要用解决方案更新问题...它会使原始问题和答案无用

标签: javascript jquery json exception


【解决方案1】:

JSON 中的对象用{} 表示。对象有 key-value 对。例如:

{
    "foo": "bar",
    "example: "something",
    "key": "value"
}

JSON 中的数组用[] 表示。它们是数字、字符串、对象等的列表。例如:

[
    "foo",
    "bar",
    "something",
    "example"
]

您的问题是您正在使用{} 作为数组。尝试将您的 JSON 更改为:

[
    ["0","0",650,"0","0",357,"0","0","0","0",200,"0",48,"0",3053,"0","0","0","0","0",45,50,["0","0",299,101,"0",126,"0","0","0","0",630,"0","0",88,3157,"0","0","0","0","0",10,21],["0","0",123,3030,"0",368,"0","0","0","0","0","0",76,-44,1967,"0","0","0","0","0",29,64],["0","0",88,343,"0",320,"0","0","0","0","0","0",175,"0",336,"0","0","0","0","0",21,98],["0","0",503,410,"0",1127,"0","0","0","0","0","0",77,87,1264,"0","0","0","0","0",5,128],["0","0",1754,607,40,2565,"0","0","0","0","0","0",102,70,12506,"0","0","0","0","0",178,1966],["0","0","0","0",60,153,"0","0","0","0","0","0","0","0","0","0","0","0","0","0",15,"0"]
]

此外,在 JavaScript 中,JSON 是默认的对象表示法,因此您无需调用 JSON.parse,除非您的 JSON 被表示为字符串。

【讨论】:

    【解决方案2】:

    Javascript 中的对象不能以这种方式呈现:

    {"0","0",650,"0","0",357,"0","0","0","0",200,"0",48,"0",3053,"0","0","0","0","0",45,50}
    

    对象表示应具有以下格式:

    {property_name : property_value, ... : ... , ... } 
    

    JSON.parse 期待 ':',但得到了 ','

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 2012-10-12
      • 1970-01-01
      相关资源
      最近更新 更多