Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
遍历并打印嵌套的JSON数据_Json - Fatal编程技术网

遍历并打印嵌套的JSON数据

遍历并打印嵌套的JSON数据,json,Json,我有一个嵌套格式的JSON数据文件。我想遍历这些数据并以JQuery listview的形式输出它,但我无法这样做 JSON数据的格式如下: { "Name":"A", "Company": "B", "Address": { "Street":"ABC", "City":"XYZ" } } 我尝试了以下方法: $.each(data, function(key,value) { $('#companyDetails').append('<li&g

我有一个嵌套格式的JSON数据文件。我想遍历这些数据并以JQuery listview的形式输出它,但我无法这样做

JSON数据的格式如下:

{
  "Name":"A",
  "Company": "B",
  "Address": {
    "Street":"ABC",
    "City":"XYZ"
  }
} 
我尝试了以下方法:

$.each(data, function(key,value) {
   $('#companyDetails').append('<li>'+key+'<span class="ui-li-aside">'+value+'</span></li>');
});
$。每个(数据、函数(键、值){
$(“#公司详细信息”)。追加(“
  • ”+key+“+value+”
  • ); });

    但这并不能正确地输出“地址”块。

    我不知道这是否是最有效的方法,但我认为它可以满足您的需要

    假设:数据是一个数组,每个数组元素都是一个对象(散列)。仅在Windows上使用Chrome进行测试

    <html>
    <head>
        <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
    
            function read_record(data) {
                $.each(data, function(key,value) {
                    if ($.isPlainObject(value))
                        read_record(value);
                    else
                        $('#details').append('<li>' + key + ' = ' + value + '</li>');
                });
            }
    
            $(document).ready(function() {
                var data = [
                    {
                        "Name" : "John",
                        "Company" : "Doe",
                        "Address" : {
                            "Street" : "123 Main Street",
                            "City" : "San Francisco"
                        }
                    },
                    {
                        "Name" : "Jane",
                        "Company" : "Johnson",
                        "Address" : {
                            "Street" : "57 Heinz Lane",
                            "City" : "Dallas"
                        }
                    }           
                ];
    
                read_record(data);
            });
        </script>
    </head>
    <body>
    <ul id="details"></ul>
    </body>
    </html>
    
    
    功能读取记录(数据){
    $。每个(数据、函数(键、值){
    如果($.isPlainObject(值))
    读取记录(值);
    其他的
    $(“#详细信息”).append(“
  • ”+key+”=“+value+”
  • ”); }); } $(文档).ready(函数(){ 风险值数据=[ { “姓名”:“约翰”, “公司”:“能源部”, “地址”:{ “街道”:“123大街”, “城市”:“旧金山” } }, { “姓名”:“简”, “公司”:“约翰逊”, “地址”:{ “街道”:“亨氏巷57号”, “城市”:“达拉斯” } } ]; 读取记录(数据); });
      产生:

      • 姓名=约翰
      • 公司=能源部
      • 街道=主街123号
      • 城市=旧金山
      • 姓名=简
      • 公司=约翰逊
      • 街道=亨氏巷57号
      • 城市=达拉斯

      我不知道这是否是最有效的方法,但我认为它符合您的要求

      假设:数据是一个数组,每个数组元素都是一个对象(散列)。仅在Windows上使用Chrome进行测试

      <html>
      <head>
          <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
          <script type="text/javascript">
      
              function read_record(data) {
                  $.each(data, function(key,value) {
                      if ($.isPlainObject(value))
                          read_record(value);
                      else
                          $('#details').append('<li>' + key + ' = ' + value + '</li>');
                  });
              }
      
              $(document).ready(function() {
                  var data = [
                      {
                          "Name" : "John",
                          "Company" : "Doe",
                          "Address" : {
                              "Street" : "123 Main Street",
                              "City" : "San Francisco"
                          }
                      },
                      {
                          "Name" : "Jane",
                          "Company" : "Johnson",
                          "Address" : {
                              "Street" : "57 Heinz Lane",
                              "City" : "Dallas"
                          }
                      }           
                  ];
      
                  read_record(data);
              });
          </script>
      </head>
      <body>
      <ul id="details"></ul>
      </body>
      </html>
      
      
      功能读取记录(数据){
      $。每个(数据、函数(键、值){
      如果($.isPlainObject(值))
      读取记录(值);
      其他的
      $(“#详细信息”).append(“
    • ”+key+”=“+value+”
    • ”); }); } $(文档).ready(函数(){ 风险值数据=[ { “姓名”:“约翰”, “公司”:“能源部”, “地址”:{ “街道”:“123大街”, “城市”:“旧金山” } }, { “姓名”:“简”, “公司”:“约翰逊”, “地址”:{ “街道”:“亨氏巷57号”, “城市”:“达拉斯” } } ]; 读取记录(数据); });
        产生:

        • 姓名=约翰
        • 公司=能源部
        • 街道=主街123号
        • 城市=旧金山
        • 姓名=简
        • 公司=约翰逊
        • 街道=亨氏巷57号
        • 城市=达拉斯

          • 如何使用value.Address.Cityvalue.Address.Street??访问JSON数据最常用的方法是通过点表示法。这只是对象名后跟句点,然后后跟要访问的名称/属性

            比如说,

            $.each(data, function(key,value) {
                $('#companyDetails').append('<li>'+key+'<span class="ui-li-aside">'+ value.Address.Street + "," + value.Address.City +'</span></li>');
            });
            
            您的输出将是
            我希望这会有所帮助。

            使用value.Address.Cityvalue.Address.Street怎么样??访问JSON数据最常用的方法是通过点表示法。这只是对象名后跟句点,然后后跟要访问的名称/属性

            比如说,

            $.each(data, function(key,value) {
                $('#companyDetails').append('<li>'+key+'<span class="ui-li-aside">'+ value.Address.Street + "," + value.Address.City +'</span></li>');
            });
            
            您的输出将是
            我希望这会有所帮助。

            你期望什么样的结果?你期望什么样的结果?这绝对是可行的。这应该是您接受的答案。不,这是当我知道JSON文件中存在什么数据时。我想编写一个函数,只输出/打印JSON文件中的所有值。我不需要知道存在什么类型的数据,也不需要知道每个键的值。我希望你现在明白我的问题了。我知道你的意思,但我想知道你希望展示的格式。这绝对是可行的。这应该是您接受的答案。不,这是当我知道JSON文件中存在什么数据时。我想编写一个函数,只输出/打印JSON文件中的所有值。我不需要知道存在什么类型的数据,也不需要知道每个键的值。我希望你现在明白我的问题了。我知道你的意思,但我想知道你希望展示的格式。
            var flag = true;
            display(data,flag);