2017-09-05 106 views
0

这是正确的json吗?为什么它不显示在#id中?我从https://www.sitepoint.com/colors-json-example/得到了类似的代码 - 复制它并替换了我自己的值,但它不起作用。有人解释这一点?javascript json数据脚本无法正常工作

<p id="demo"></p> 

<script> 
{ 
"standing": [ 

{"code" : "G", "rank" : "1"}, 
{"code" : "I", "rank" : "2"}, 
{"code" : "M", "rank" : "3"}, 
{"code" : "X", "rank" : "4"}, 
{"code" : "A", "rank" : "5"}, 
{"code" : "B", "rank" : "6"}, 
{"code" : "C", "rank" : "7"}, 
{"code" : "D", "rank" : "8"}, 
{"code" : "E", "rank" : "9"} 

] 
} 

document.getElementById("demo").innerHTML = 
standing.code + " " + standing.rank; 
</script> 
+3

这不是JSON,这是一个对象字面值。为了使用它,你需要将它存储在一个变量中。 'var standing = [...];'。请注意,站立是一个数组,因此您需要站立[0] .code和站立[0] .rank'。 –

回答

1

我不确定你想在这里实现什么,但下面的脚本可能会帮助你:只需替换0来获得另一个字母或做一个for循环来获取所有的字母。

<p id="demo"></p> 

<script> 
var standing = [ 
{"code" : "G", "rank" : "1"}, 
{"code" : "I", "rank" : "2"}, 
{"code" : "M", "rank" : "3"}, 
{"code" : "X", "rank" : "4"}, 
{"code" : "A", "rank" : "5"}, 
//etc 
]; 

document.getElementById("demo").innerHTML = standing[0].code + " " + standing[0].rank; 
</script> 

为什么你的代码是不工作:

  • 你需要你的数组赋值给一个变量

  • 你没有指定

    你想显示

  • 该指数
0

“站立”是一个包含对象的数组。你可以访问第一个standing[0].code 希望它有帮助。

+0

你错过了更深层次的问题。 “站立”不可访问。 –

1

您尚未将对象分配给变量。你需要做的,为了以后引用它:

<script> 
var standing = [ 

{"code" : "G", "rank" : "1"}, 
{"code" : "I", "rank" : "2"}, 
{"code" : "M", "rank" : "3"}, 
// etc/ 
] 

document.getElementById("demo").innerHTML = 
standing[0].code + " " + standing[0].rank; 
</script> 

现在standing是,你可以用standing[index]访问对象的数组。

+0

我现在明白了。 – verlager