Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript输出Json数组_Javascript_Arrays_Json_Jquery - Fatal编程技术网

使用Javascript输出Json数组

使用Javascript输出Json数组,javascript,arrays,json,jquery,Javascript,Arrays,Json,Jquery,我对Javascript和Json非常陌生,需要以下方面的帮助。这是一些json数据: "genres": [ { "id": 28, "name": "Action" }, { "id": 18, "name": "Drama" }, { "id": 14, "name": "Fantasy" }, { "id": 36, "name": "History" } ], 现在我想输出所有类型的名称 我正在使用j

我对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);
$.each(results.genres, function (currentIndex, currentElem) {
    console.log( currentElem.name );
});
var result = "";

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

console.log(result);
var-genres=results.genres[0]。名称;
$('#tmdbInfo2').html('
类型:'+类型);
在这个例子中,我们将展示类型的第一个元素(动作),但不是全部。 输出应该是:动作、戏剧、幻想、历史。 有时体裁的元素数量会有所不同

请帮帮我,这让我很困惑 这就是您在数组元素上迭代的方式,使用
for
循环(,如果您受到诱惑的话)


另一种迭代方式:

results.genres.forEach(function(genre) {
    console.log(genre.name);
});
对于您正在尝试做的事情:

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


结果=“{”流派“:[{”id“:28,“姓名“:”动作“},{”id“:18,“姓名“:”戏剧“},{”id“:14,“姓名“:”幻想“},{”id“:36,“姓名“:”历史“}”);
results=JSON.parse(results);
对于($i在results.tyres中){
console.log(results.genres[$i].name);
}
JSON.parse方法将字符串解析为JSON,可以选择转换解析生成的值,您可以从类似节点的数组中获取值。 当您对($i in results.genres)使用
时,
您不需要为get all array/object元素设置大小限制


组元素需要介于{“类型”之间:[{…}]}将读取您的JSON。

您可以通过使用for in循环访问数组值,如下所示:

var genres = results.genres[0].name;
$('#tmdbInfo2').html('<br>Genres: ' +genres);
$.each(results.genres, function (currentIndex, currentElem) {
    console.log( currentElem.name );
});
var result = "";

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

console.log(result);

很抱歉这么说,但你应该在谷歌上搜索一下。或者打开一个关于Javascript数组的基本教程。相信我,我已经做了。我不是程序员。我找到了很多例子,但无法将其转化为我的问题。没有人天生就是程序员。如果你想做编程,那么除了学习,你没有别的机会了。谢谢你。但是,如何将结果保存在变量中并用html输出每个项目呢?我知道这是最基本的:在
.join()
.map()
返回jQuery包装的数组之前,pYou还需要一个
.get()
。另外,我发现您的示例对于初学者来说非常混乱,但它很好:)。@bažmegakap:
Array.prototype.map
为什么会返回jQuery包装的数组?这正是我需要的!你帮我节省了很多工作时间,而我现在没有。伟大的社区@瑞文:你可以接受他的答案,在答案左边打勾。请这样做。什么是console.log?我会试着更进一步。谢谢@RaveN不仅仅是程序员能够使用Google
console.log()
将值打印到浏览器的控制台。当使用
$i
调用
results.genres[$i].name
时,函数get id元素从0开始。如果只想获取第一个元素,请设置此
results.genres[0]。name
。Example JAVASCRIP Example JQUERY