在下面的代码中,
JSON ex
result.json
{ 'name': 'Account1', 'marketValue': '10990', 'cash': '199926', 'legend': 'orange' }, { 'name': 'Account2', 'marketValue': '156590', 'cash': '133856', 'legend': 'darkorange' }
我看到JSON not well formed
错误.result.json
坐在同一个文件夹中.
由于此错误,请为accountGrid
空.
not well formed
在执行时说错误是什么意思jQuery.getJSON
?
让我们考虑一下JSON的语法 ......
JSON必须是单个值(对象,数组等)
JSON对象应该是单个值.你有两个用逗号分隔的对象.也许您可以将每个作为单个对象的成员分配.
# a JSON object consists of a single value definition value string number object array true false null # this value can be an object object {} { members } # or an array array [] [ elements ]
______
单引号是非法的
JSON禁止'
对字符串使用单引号().
# a string consists of chars wrapped in double-quotation marks string "" " chars "
因此,将所有单引号替换为双引号.
考虑到以上两点,你最终会得到这样的结论:
{ "key1": { "name": "Brokerage Account 3", "marketValue": "1999990", "cash": "1995826", "legend": "orange" }, "key2": { "name": "Account 3", "marketValue": "1949990", "cash": "1695856", "legend": "darkorange" } }
[ 尝试在线 ]
______
将对象放在数组中
或者,正如@Gerald Schneider所建议的那样,将对象放在数组中.规范说value
(上面定义)可以是array
:
array [] [ elements ] # elements can multiple values, e.g. objects
所以你的JSON看起来像这样:
[ { "name": "Account1", "marketValue": "10990", "cash": "199926", "legend": "orange" }, { "name": "Account2", "marketValue": "156590", "cash": "133856", "legend": "darkorange" } ]
[ 尝试在线 ]
______
使用解析的JSON(JSON是一个数组)
如果您将数据表示为数组,则回调应该只将结果解析的JSON分配给accountGrid
变量:
或者,如果要将条目的值附加到accountGrid
:
accountGrid = accountGrid.concat(entry);
______
将来编写JSON
我建议您在支持JSON语法高亮的IDE中编辑JSON文件,然后在编辑器中引发这些问题.或者,使用众多在线工具中的一种.