admin管理员组文章数量:1336599
In the below code,
<head>
<meta charset="UTF-8">
<title>JSON ex</title>
<script type = "text/javascript"
src = ".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>
result.json
{
'name': 'Account1',
'marketValue': '10990',
'cash': '199926',
'legend': 'orange'
},
{
'name': 'Account2',
'marketValue': '156590',
'cash': '133856',
'legend': 'darkorange'
}
I see JSON not well formed
error. result.json
sits in the same folder.
Due to this error, accountGrid
goes empty.
What does it mean to say not well formed
error, on execution of jQuery.getJSON
?
In the below code,
<head>
<meta charset="UTF-8">
<title>JSON ex</title>
<script type = "text/javascript"
src = "http://ajax.googleapis./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>
result.json
{
'name': 'Account1',
'marketValue': '10990',
'cash': '199926',
'legend': 'orange'
},
{
'name': 'Account2',
'marketValue': '156590',
'cash': '133856',
'legend': 'darkorange'
}
I see JSON not well formed
error. result.json
sits in the same folder.
Due to this error, accountGrid
goes empty.
What does it mean to say not well formed
error, on execution of jQuery.getJSON
?
- 2 There are online/offline validators that you can use to validate your JSON. – Drumbeg Commented Jan 6, 2016 at 13:57
1 Answer
Reset to default 6Let's consider the grammar of JSON...
JSON must be a single value (object, array, etc.)
A JSON object should be a single value. What you have is two objects separated by a ma. Perhaps you could assign each of these as members of a single object.
# 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 ]
______
Single-quotation marks are illegal
JSON forbids the use of single-quotes ('
) for strings.
# a string consists of chars wrapped in double-quotation marks
string
""
" chars "
So replace all single quotes to double quotation marks.
The above two things considered, you will end up with something like this:
{
"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 ]
______
Place objects within an array
Alternatively, as suggested by @Gerald Schneider, place the objects within an array. The spec says that value
(defined above) can be an array
:
array
[]
[ elements ] # elements can multiple values, e.g. objects
So your JSON would look like this:
[
{
"name": "Account1",
"marketValue": "10990",
"cash": "199926",
"legend": "orange"
},
{
"name": "Account2",
"marketValue": "156590",
"cash": "133856",
"legend": "darkorange"
}
]
[ Try it out online ]
______
Consuming the parsed JSON (where the JSON is an array)
If you represent your data as an array, your callback should simply assign the resulting parsed JSON to the accountGrid
variable:
<script type="text/javascript" language = "javascript">
var accountGrid = [];
$(document).ready(function(){
$.getJSON('result.json', function(entry){
accountGrid = entry;
});
});
</script>
Alternatively, if you wanted to append the values of entry to accountGrid
:
accountGrid = accountGrid.concat(entry);
______
Writing JSON in the future
I suggest you edit JSON files within an IDE that supports syntax highlighting for JSON, then these problems would be raised within the editor. Or, use one of the many online tools available.
本文标签: javascriptJSON not well formed errorStack Overflow
版权声明:本文标题:javascript - JSON not well formed error - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742408587a2469327.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论