Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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/2/ajax/6.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
使用GetJSON Jquery解析复杂数组_Jquery_Ajax_Json_Arrays_Getjson - Fatal编程技术网

使用GetJSON Jquery解析复杂数组

使用GetJSON Jquery解析复杂数组,jquery,ajax,json,arrays,getjson,Jquery,Ajax,Json,Arrays,Getjson,TLDR: 从简化它开始,在它工作了一些之后,继续在这里 我需要“获取”JSON数组 正确设置格式,并将数组中的每个元素放入相应的DIV中 ? 它起作用了 这是简化和继续的后续步骤 我需要从数组中提取一些复杂的JSON数据。有了它,我需要标题和它的价值。我之所以这样做,是因为我知道数组调用了什么,但不知道数组中生成的数据 假设此新数组如下所示: { "Days": [{ "day": "Sunday", "time": "10.00" }, {

TLDR:

  • 从简化它开始,在它工作了一些之后,继续在这里
  • 我需要“获取”JSON数组
  • 正确设置格式,并将数组中的每个元素放入相应的DIV中
  • ?
  • 它起作用了

  • 这是简化和继续的后续步骤

    我需要从数组中提取一些复杂的JSON数据。有了它,我需要标题和它的价值。我之所以这样做,是因为我知道数组调用了什么,但不知道数组中生成的数据

    假设此新数组如下所示:

    {
      "Days": [{
          "day": "Sunday",
          "time": "10.00"
        },
        {
          "day": "Monday",
          "time": "12.00"
        },
        {
          "day": "Tuesday",
          "time": "09.00"
        },
        {
          "day": "Wednesday",
          "time": "10.00"
        },
        {
          "day": "Thursday",
          "time": "02.00"
        },
        {
          "day": "Friday",
          "time": "05.00"
        },
        {
          "day": "Saturday",
          "time": "08.00"
        }
      ]
    }
    
    $.getJSON(url,
      function(data) {
        $.each(data, function(i, item) {
          $('.testfield').append('<p>' + item + '</p>');
        });
      });
    
    Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
    
    修复感谢(Matthew Flaschen)

    我需要它来得到星期天&10.00,以及所有其他人一样

    我现在要分析的代码如下:

    {
      "Days": [{
          "day": "Sunday",
          "time": "10.00"
        },
        {
          "day": "Monday",
          "time": "12.00"
        },
        {
          "day": "Tuesday",
          "time": "09.00"
        },
        {
          "day": "Wednesday",
          "time": "10.00"
        },
        {
          "day": "Thursday",
          "time": "02.00"
        },
        {
          "day": "Friday",
          "time": "05.00"
        },
        {
          "day": "Saturday",
          "time": "08.00"
        }
      ]
    }
    
    $.getJSON(url,
      function(data) {
        $.each(data, function(i, item) {
          $('.testfield').append('<p>' + item + '</p>');
        });
      });
    
    Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
    
    随着时间添加到数组中的天数中,Firebug不再将其识别为JSON字符串。所以我猜我在这里格式化了一些错误的东西。而且,我需要每天和每一段时间都在一条新的线上,我想

    $('.testfield').append('<p>' + item + '</p>' + '<br />');
    
    $('.testfield')。追加(''+item+'

    '+'
    ');
    本应将每一条应用于新的生产线,但这不起作用

  • 我如何让每一天或每一项都在一条新的线上
  • 如何让$getjson正确地将数据及其值解析为div

  • 这不是有效的JSON。做一些类似于:

    {"Days":
    [{"day": "Sunday", "time": "10.00"},
     {"day": "Monday", "time": "12.00"},
     {"day": "Tuesday", "time": "09.00"},
     {"day": "Wednesday", "time": "10.00"},
     {"day": "Thursday", "time": "02.00"},
     {"day": "Friday", "time": "05.00"},
     {"day": "Saturday", "time": "08.00"}
    ]}
    

    始终使用或其他验证器检查语法。

    有点离题,但如果您不能确定内容,则应使用安全的方法将数据插入DOM。否则,您的代码将存在XSS漏洞

    除了安全问题外,任何数据(如“foobar”)都不会按照您(可能)的要求呈现

    例如,可以使用jQuery text()方法:

    $('.testfield')。追加($('

    ')。文本(项));
    试试这个(重新格式化的JSON-下次用以下代码检查JSON):

    使用它的脚本:

     $.getJSON( url, function(data){
      $.each(data.Days[0], function(key,value){
       $('.testfield').append('<p>' + key + ' : ' + value + '</p>');
      });
     });
    
    $.getJSON(url、函数(数据){
    $.each(data.Days[0],函数(键,值){
    $('.testfield')。追加(''+key+':'+value+'

    '); }); });
    如上所述格式化,我得到[Object]。因为我要求在“天”内完成所有任务,所以JSON是JavaScript文本语法的子集。因此,这也是一个有效的对象文字。这方面的工作已经有一段时间了,现在让我有点头晕:P非常感谢您的帮助。哈哈,JSONLint现在肯定保存下来了:)工作得很好。非常感谢现在我很高兴确保服务器端的JSON格式正确^^我想除了JSON之外,您还缺少了
    数据。天[0]
    函数(键、值)
    ,请参见jQuery.each()文档页():P