2017-09-05 46 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