2012-09-16 55 views
1

我有以下JSON字符串的:为什么我不能解析这个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:

为什么?

回答

6

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

1

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

杀死周围的括号,改变单引号双引号:

var billjson = '{"posts" : [{"Id" :"  7553","Code" :"1186 ", ... 
3

才能有有效的JSON取出paranthesis。您也必须使用双引号:

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); 
相关问题