代码之家  ›  专栏  ›  技术社区  ›  Martin Erlic

如何从json数组中的嵌入对象检索值?

  •  0
  • Martin Erlic  · 技术社区  · 6 年前

    我想从以下json对象中检索名称:

    enter image description here

    在我的ajax响应函数中,我有以下内容:

    success: function (response) {
        .each(response, function (idx, obj) {
             console.log(obj[1]);
             var name = obj.author["name"];
             generatedHtml.push(`${name} <br><br>`);
        });
    },
    

    我一直有错误 obj.author is undefined . 我该怎么办?

    编辑: 完整的json在这里提供: https://gist.github.com/SeloSlav/acb223dd25c589c660c7326dbf3e7bdc

    1 回复  |  直到 6 年前
        1
  •  1
  •   Gabriele Petrioli    6 年前

    尽管您可能需要更改json文件,但在当前状态下,您需要遍历所有键/值对,并找到 key 存在 作者 ,然后自己做同样的事情 value ( 又是一个键/值对列表 )寻找一对 钥匙 名称

    $.ajax({
      url: 'https://gist.githubusercontent.com/SeloSlav/acb223dd25c589c660c7326dbf3e7bdc/raw/832a489c6eeb87913712862e0798a13c1c62b161/gistfile1.txt',
      dataType: 'json',
      success: function(response) {
        $.each(response, function(idx, obj) {
          var name,
              author = obj.find(function(node) {return node.key === 'author'});
          if (author) {
            name = author.value.find(function(node) {return node.key === 'name'});
    
            if (name) {
              console.log(name.value);
              //generatedHtml.push(`${name.value} <br><br>`);
            }
          }
        });
      }
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>