json 字符串未解析

json string not parsing

我必须将算盘创建为 json 字符串,如下所示:

var jString = "'rTable':[{'1M=':'70'},{'1mv=':'70'},{'1mx=':'140'},{'1mxv=':'140'},{'1mxx=':'230'},{'1mxxv=':'230'}},{'1m+1':'90'}]";


var rTable = JSON.parse(jString);

当我尝试解析它时,我收到一条 未指定 "syntax error" 消息。 是否允许使用 =、+ 和 - 等特殊符号? 有人能告诉我这个 json 字符串有什么问题吗?

创建后,我打算获得这样的值:

var score = "1M=";
var v = rTable[score];

我说的对吗?

一些事情:

  1. 有效的 JSON 必须以 {[ 开头。将整个内容包含在 {} 中,或删除 'rTable':.

  2. 你这里有一个额外的}{'1mxxv=':'230'}}

  3. 使用双引号代替单引号。

如果您的 language/framework 对语法错误不够具体,我建议 运行 通过 JSONLint 的字符串。

你有一些错误。

1) JSON 要求非数字 keys/values 被双引号,单引号不行。

2) 正如另一位发帖人指出的那样,JSON 必须以 {[

开头

3) 您在 {'1mxxv=':'230'}},

有一个额外的 }

这是您的有效 JSON:

{"rTable":[{"1M=":"70"},{"1mv=":"70"},{"1mx=":"140"},{"1mxv=":"140"},{"1mxx=":"230"},{"1mxxv=":"230"},{"1m+1":"90"}]}