[英]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
這是你使用for
循環迭代數組元素的方法(如果你受到誘惑, 不要在數組中使用for...in
循環 )。
for (var i = 0; i < results.genres.length; i++) {
console.log( results.genres[i].name );
}
您的數組在此處稱為results.genres
。 在循環內部, results.genres[i]
將始終引用當前元素。
我看到你正在使用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.