簡體   English   中英

用Javascript輸出Json數組

[英]Output Json Arrays with Javascript

我是Javascript和Json的新手,需要以下幫助。 這是一些json數據:

"genres": [

 {
    "id": 28,
    "name": "Action"
 },
 {
    "id": 18,
    "name": "Drama"
 },
 {
    "id": 14,
    "name": "Fantasy"
 },
 {
    "id": 36,
    "name": "History"
 }

],

現在我想輸出所有類型的名字

我正在使用jquery mobile和ajax來檢索json數據。 在我的功能里面看起來像這樣:

var genres = results.genres[0].name;
$('#tmdbInfo2').html('<br>Genres: ' +genres);

在這個例子中,我們將展示類型的第一個元素(Action),但不是全部。 輸出應該是:動作,戲劇,幻想,歷史。 有時候類型的元素數量會有所不同。

請幫助我,這對我來說非常困惑O_o

簡單的Javascript

這是你使用for循環迭代數組元素的方法(如果你受到誘惑, 不要在數組中使用for...in循環 )。

for (var i = 0; i < results.genres.length; i++) {
    console.log( results.genres[i].name );
}

您的數組在此處稱為results.genres 在循環內部, results.genres[i]將始終引用當前元素。

jQuery的

我看到你正在使用jQuery,所以你也可以像這樣使用$.each()

$.each(results.genres, function (currentIndex, currentElem) {
    console.log( currentElem.name );
});

另一種迭代方式:

results.genres.forEach(function(genre) {
    console.log(genre.name);
});

對於你想要做的事情:

$('#tmdbInfo2').html(
    'Genres: ' + results.genres.map(function(genre) {
        return genre.name;
    }).join(', ')
);

您可以使用這樣的for-in循環訪問數組值:

var result = "";

for (i in genres.name) {
  result += genres.name[i];
} 

console.log(result);

您可以使用

<script>
   results = '{ "genres": [{ "id": 28, "name": "Action" },{ "id": 18, "name": "Drama" },{ "id": 14, "name": "Fantasy" },{ "id": 36, "name": "History" }] }';    
   results = JSON.parse(results);

       for($i in results.genres){
            console.log(results.genres[$i].name);
       }

</script>

JSON.parse方法將字符串解析為JSON,可選地轉換解析產生的值,您可以從類似數組的節點獲取值。 當你使用for($i in results.genres)你不會設置有限大小,'獲取所有數組/對象元素的情況。

組元素需要在{ “genres”:[{...}] }之間,因為您的JSON將被閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM