Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
Jquery Ajax显示JSON提要_Jquery_Json_Ajax - Fatal编程技术网

Jquery Ajax显示JSON提要

Jquery Ajax显示JSON提要,jquery,json,ajax,Jquery,Json,Ajax,我想使用这个json端点创建一个汽车模型 如何创建汽车对象,然后为每个汽车对象提供一组一致的属性 我这里有: 错误的输出,您会看到很多“未定义”,因为它循环了整个JSON字符串,并且有6项不是我们要求的3个变量中的项 对不起,我对这个不太熟悉 $.get(“series data.json”,函数(obj){ 用于(对象数据系列中的x){ var series_icon=obj.data.series[x].series_icon; 变量显示顺序=对象数据系列[x]。显示顺序; var bra

我想使用这个json端点创建一个汽车模型

如何创建汽车对象,然后为每个汽车对象提供一组一致的属性

我这里有: 错误的输出,您会看到很多“未定义”,因为它循环了整个JSON字符串,并且有6项不是我们要求的3个变量中的项

对不起,我对这个不太熟悉

$.get(“series data.json”,函数(obj){
用于(对象数据系列中的x){
var series_icon=obj.data.series[x].series_icon;
变量显示顺序=对象数据系列[x]。显示顺序;
var brand=obj.data.series[x].品牌;
var html=“
    ”; html+=“
  • ”+系列图标+“
  • ”; html+=“
  • ”+显示\u order+“
  • ”; html+=“
  • ”+品牌+“
  • ”; html+=“
”; $('#output').append(html); } });
试试这个

$.get( 'series-data.json', function( obj ) {            


            for(x in obj.data.series){

                if(typeof obj.data.series[x].series_icon !='undefined'){
                var series_icon = obj.data.series[x].series_icon;
                var display_order = obj.data.series[x].display_order;
                var brand = obj.data.series[x].brand;

                var html = "<ul>";
                    html += "<li>"+ series_icon +"</li>";
                    html += "<li>"+ display_order +"</li>";
                    html += "<li>"+ brand +"</li>";
                    html += "</ul>";

                $('#output').append(html);

              }
            }

        },'json');
$.get('series data.json',函数(obj){
用于(对象数据系列中的x){
if(对象数据的类型系列[x].系列图标!=“未定义”){
var series_icon=obj.data.series[x].series_icon;
变量显示顺序=对象数据系列[x]。显示顺序;
var brand=obj.data.series[x].品牌;
var html=“
    ”; html+=“
  • ”+系列图标+“
  • ”; html+=“
  • ”+显示顺序+“
  • ”; html+=“
  • ”+品牌+“
  • ”; html+=“
”; $('#output').append(html); } } }“json”);
给你一个解决方案

$.get(“http://pdi.bmw.staging.oliver.solutions/data/series-data.json,功能(obj){
对于(对象数据系列中的x){
if(obj.data.series[x]。series\u图标!=“未定义”){
$('#output')。追加(`
  • ${obj.data.series[x].series_icon}
  • ${obj.data.series[x].显示顺序}
  • ${obj.data.series[x].brand}
`); } } });
从您的JSON中,我们可以看到
系列图标
显示顺序
品牌
仅存在于键
1系列
2系列
下,因此您需要相应地更改代码

您需要检查每个迭代的
对象下是否存在这些
,您的代码应该是这样的:

  var cars = [];
  for(x in obj.data.series){
    if(obj.data.series[x].series_icon && obj.data.series[x].display_order && obj.data.series[x].brand){
        var series_icon = obj.data.series[x].series_icon;
        var display_order = obj.data.series[x].display_order;
        var brand = obj.data.series[x].brand;

        //This code will create a Car object and push it in the cars array
        let car = {};
        for(key in obj.data.series[x]){
           car[key] = obj.data.series[x][key];
        }
        cars.push(car);

        var html = "<ul>";
        html += "<li>"+ series_icon +"</li>";
        html += "<li>"+ display_order +"</li>";
        html += "<li>"+ brand +"</li>";
        html += "</ul>";

        $('#output').append(html);
    }
  }
var cars=[];
用于(对象数据系列中的x){
if(obj.data.series[x].series_图标和&obj.data.series[x].显示订单和&obj.data.series[x].brand){
var series_icon=obj.data.series[x].series_icon;
变量显示顺序=对象数据系列[x]。显示顺序;
var brand=obj.data.series[x].品牌;
//此代码将创建一个Car对象并将其推送到cars数组中
让car={};
用于(输入对象数据系列[x]){
汽车[钥匙]=对象数据系列[x][钥匙];
}
汽车。推(汽车);
var html=“
    ”; html+=“
  • ”+系列图标+“
  • ”; html+=“
  • ”+显示顺序+“
  • ”; html+=“
  • ”+品牌+“
  • ”; html+=“
”; $('#output').append(html); } }
演示:

这是一个演示:

var obj={
“数据”:{
“系列”:{
“宣传册图像”:“range.jpg”,
“手册id”:“DLR\U CR”,
“手册名称”:“范围”,
“背景图像”:“range.jpg”,
“链接”:http://www.bmw.co.uk/vc/ncc/xhtml/start/startWithModelSelection.faces?productType=1&brand=BM&market=GB&country=GB&locale=en_GB",
“链接文本”:“探索展厅”,
“宝马一号”:{
“系列图标”:“i.png”,
“显示顺序”:12,
“中等图像”:“i-i3.png”,
“品牌”:“宝马i”,
“i3”:{
“系列”:“宝马i3”,
“中等图像”:“i-i3.png”,
“宣传册图片”:“i-i3.png”,
“手册id”:“DLR_I3”,
“手册名称”:“i3”,
“背景图片移动”:“i3.jpg”,
“背景图片”:“i3.jpg”,
“链接”:http://www.bmw.co.uk/en_GB/new-vehicles/bmw-i/i3/2013/introduction.html",
“m_系列”:错误,
“混合”:假,
“映射体类型”:“掀背式”,
“车身类型”:“掀背式I01”,
“主体样式id”:“I01”
},
“i8”:{
“系列”:“宝马i8”,
“中等图像”:“i-i8.png”,
“宣传册图片”:“i-i8.png”,
“手册id”:“DLR_I8”,
“手册名称”:“i8”,
“背景图片移动”:“i8.jpg”,
“背景图片”:“i8.jpg”,
“链接”:http://www.bmw.co.uk/en_GB/new-vehicles/bmw-i/i8/2013/introduction.html",
“m_系列”:错误,
“混合”:假,
“映射车身类型”:“Coupe”,
“车身类型”:“CoupéI12”,
“正文样式id”:“I12”
}
},
“1系列”:{
“series_图标”:“1-series.png”,
“显示顺序”:1,
“中型图片”:“1-series-3-door-sports-hatch.png”,
“品牌”:“宝马”,
“三门运动舱”:{
“系列”:“1系列”,
“中型图片”:“1-series-3-door-sports-hatch.png”,
“宣传册图片”:“1-series-sports-hatch.png”,
“手册id”:“DLR\U F21”,
“手册名称”:“1系列3-门运动舱口”,
“背景图片移动”:“1Series\u 3door.jpg”,
“背景图片”:“1Series\u 3door.jpg”,
“链接”:http://www.bmw.co.uk/en_GB/new-vehicles/1/3-door/2015/introduction.html",
“m_系列”:错误,
“混合”:假,
“映射体类型”:“掀背式”,
“车身类型”:“三门运动型舱口F21”,
“主体样式id”:“F21”
},
“五门运动舱”:{
“系列”:“1系列”,
“中型图片”:“1-series-5-door-sports-hatch.png”,
“宣传册图片”:“1-series-sports-h
  var cars = [];
  for(x in obj.data.series){
    if(obj.data.series[x].series_icon && obj.data.series[x].display_order && obj.data.series[x].brand){
        var series_icon = obj.data.series[x].series_icon;
        var display_order = obj.data.series[x].display_order;
        var brand = obj.data.series[x].brand;

        //This code will create a Car object and push it in the cars array
        let car = {};
        for(key in obj.data.series[x]){
           car[key] = obj.data.series[x][key];
        }
        cars.push(car);

        var html = "<ul>";
        html += "<li>"+ series_icon +"</li>";
        html += "<li>"+ display_order +"</li>";
        html += "<li>"+ brand +"</li>";
        html += "</ul>";

        $('#output').append(html);
    }
  }
$.get( "series-data.json", function( obj ) {
  for(x in obj.data.series){
    if (obj.data.series[x].series_icon
        && obj.data.series[x].display_order
        && obj.data.series[x].brand) {

      var series_icon = obj.data.series[x].series_icon;
      var display_order = obj.data.series[x].display_order;
      var brand = obj.data.series[x].brand;

      var html = "<ul>";
        html += "<li>"+ series_icon +"</li>";
        html += "<li>"+ display_order +"</li>";
        html += "<li>"+ brand +"</li>";
        html += "</ul>";

      $('#output').append(html);
    }
  }
});