gpt4 book ai didi

javascript - JSON 格式错误

转载 作者:行者123 更新时间:2023-11-28 12:22:39 25 4
gpt4 key购买 nike

在下面的代码中,

<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

{
'name': 'Account1',
'marketValue': '10990',
'cash': '199926',
'legend': 'orange'
},
{
'name': 'Account2',
'marketValue': '156590',
'cash': '133856',
'legend': 'darkorange'
}
<小时/>

我看到 JSON 格式不正确错误。 result.json 位于同一文件夹中。

由于此错误,accountGrid 变为空。

执行jQuery.getJSON时出现格式不正确错误是什么意思?

最佳答案

让我们考虑 grammar of 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"
}
}

[Try it out online ]

______

将对象放置在数组中

或者,按照 @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"
}
]

[Try it out online ]

______

使用解析后的 JSON(其中 JSON 是一个数组)

如果您将数据表示为数组,则回调应该简单地将解析后的 JSON 分配给 accountGrid 变量:

<script type="text/javascript" language = "javascript">
var accountGrid = [];
$(document).ready(function(){
$.getJSON('result.json', function(entry){
accountGrid = entry;
});
});
</script>

或者,如果您想将条目的值附加到 accountGrid:

accountGrid = accountGrid.concat(entry);

______

以后再写JSON

我建议您在支持 JSON 语法高亮的 IDE 中编辑 JSON 文件,那么这些问题就会在编辑器中出现。或者,use one of the many online tools available .

关于javascript - JSON 格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34634797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com