1

我有以下 JSON 字符串:

var billjson = "({'posts' : [{'Id' :'      7553','Code' :'1186 ','Address' :' GGGG 39Α                    ','Name' : ' GGGG NAME 3                               ','Description' : ' G 3    ','EntrySeason' : ' GGGGG 08-09      ','Period' : ' 10/2009   ','Revenue' : '      4.10'},{'Id' :'      7553','Code' :'1186 ','Address' :' GGGG 39Α                    ','Name' : ' FFFF NAME 3                               ','Description' : ' F 3    ','EntrySeason' : ' FFFF 08-09      ','Period' : ' 10/2009   ','Revenue' : '      4.10'}]})"

我正在尝试使用以下代码创建一个 JSON 对象:

var mybilljson = jQuery.parseJSON( billjson );

但控制台的结果是:

未捕获的无效 JSON:

为什么?

4

3 回答 3

6

字符串文字和属性名称必须在 JSON 中使用双引号,但您使用的是单引号。括号也不允许在那里。

于 2012-09-16T14:54:38.017 回答
3

删除括号以获得有效的 JSON。此外,您必须使用双引号:

var billjson= '{"posts": [{"Id": "7553","Code": "1186","Address": "GGGG39Α","Name": "GGGGNAME3","Description": "G3","EntrySeason": "GGGGG08-09","Period": "10/2009","Revenue": "4.10"},{"Id": "7553","Code": "1186","Address": "GGGG39Α","Name": "FFFFNAME3","Description": "F3","EntrySeason": "FFFF08-09","Period": "10/2009","Revenue": "4.10"}]}';
var mybilljson = jQuery.parseJSON( billjson );
于 2012-09-16T14:59:42.123 回答
1

除了在字段名称和字符串值周围使用单引号而不是双引号之外,您的 JSON 字符串由于周围的括号而无效:().

杀死周围的括号并将单引号更改为双引号:

var billjson = '{"posts" : [{"Id" :"      7553","Code" :"1186 ", ...
于 2012-09-16T14:56:50.027 回答