Javascript JSON格式不正确错误
在下面的代码中Javascript JSON格式不正确错误,javascript,jquery,json,Javascript,Jquery,Json,在下面的代码中 <head> <meta charset="UTF-8"> <title>JSON ex</title> <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </scr
<head>
<meta charset="UTF-8">
<title>JSON ex</title>
<script type = "text/javascript"
src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type="text/javascript" language = "javascript">
var accountGrid = [];
$(document).ready(function(){
$.getJSON('result.json', function(entry){
accountGrid.push({
name: entry.name,
marketValue: entry.marketValue,
cash: entry.cash,
legend: entry.legend
});
});
});
</script>
</head>
<body>
</body>
我看到JSON
格式不正确
错误result.json
位于同一文件夹中
由于此错误,accountGrid
变为空
< P> >在< <代码> jQuery > GETJSONS/<代码>?< /P> < P>中,我们要考虑的是:<代码>未正确形成的<代码/代码>错误,让我们考虑…
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"
}
}
[
{
"name": "Account1",
"marketValue": "10990",
"cash": "199926",
"legend": "orange"
},
{
"name": "Account2",
"marketValue": "156590",
"cash": "133856",
"legend": "darkorange"
}
]
[]
______
将对象放置在数组中
或者,按照@Gerald Schneider的建议,将对象放置在数组中。规范说明值
(定义见上文)可以是数组
:
array
[]
[ elements ] # elements can multiple values, e.g. objects
因此,您的JSON将如下所示:
{
"key1": {
"name": "Brokerage Account 3",
"marketValue": "1999990",
"cash": "1995826",
"legend": "orange"
},
"key2": {
"name": "Account 3",
"marketValue": "1949990",
"cash": "1695856",
"legend": "darkorange"
}
}
[
{
"name": "Account1",
"marketValue": "10990",
"cash": "199926",
"legend": "orange"
},
{
"name": "Account2",
"marketValue": "156590",
"cash": "133856",
"legend": "darkorange"
}
]
[]
______
使用解析的JSON(其中JSON是一个数组)
如果将数据表示为一个数组,回调函数只需将解析后的JSON分配给accountGrid
变量:
<script type="text/javascript" language = "javascript">
var accountGrid = [];
$(document).ready(function(){
$.getJSON('result.json', function(entry){
accountGrid = entry;
});
});
</script>
______
将来编写JSON
我建议您在支持JSON语法突出显示的IDE中编辑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"
}
}
[
{
"name": "Account1",
"marketValue": "10990",
"cash": "199926",
"legend": "orange"
},
{
"name": "Account2",
"marketValue": "156590",
"cash": "133856",
"legend": "darkorange"
}
]
[]
______
将对象放置在数组中
或者,按照@Gerald Schneider的建议,将对象放置在数组中。规范说明值
(定义见上文)可以是数组
:
array
[]
[ elements ] # elements can multiple values, e.g. objects
因此,您的JSON将如下所示:
{
"key1": {
"name": "Brokerage Account 3",
"marketValue": "1999990",
"cash": "1995826",
"legend": "orange"
},
"key2": {
"name": "Account 3",
"marketValue": "1949990",
"cash": "1695856",
"legend": "darkorange"
}
}
[
{
"name": "Account1",
"marketValue": "10990",
"cash": "199926",
"legend": "orange"
},
{
"name": "Account2",
"marketValue": "156590",
"cash": "133856",
"legend": "darkorange"
}
]
[]
______
使用解析的JSON(其中JSON是一个数组)
如果将数据表示为一个数组,回调函数只需将解析后的JSON分配给accountGrid
变量:
<script type="text/javascript" language = "javascript">
var accountGrid = [];
$(document).ready(function(){
$.getJSON('result.json', function(entry){
accountGrid = entry;
});
});
</script>
______
将来编写JSON
我建议您在支持JSON语法突出显示的IDE中编辑JSON文件,然后在编辑器中会出现这些问题。或者,.可以使用在线/离线验证器来验证JSON。可以使用在线/离线验证器来验证JSON。就我个人而言,我只是将其封装在
[]
中,使其成为一个数组。使循环更容易..就我个人而言,我只是将其封装在[]
中,使其成为一个数组。使循环更容易。。