【问题标题】:I have a array of JSON and I want to read the key我有一个 JSON 数组,我想读取密钥
【发布时间】:2020-08-25 04:53:32
【问题描述】:

我有一个 JSON 数组,我想读取键“bno”并在 textarea 中打印它的值。

我希望 jquery 代码读取 bnm 或 bno 等键。

{
"AdditionalAddress": [
{
  "addr": 
   {
    "bnm": "",
    "bno": "B2 B3",
    "city": "",
    "dst": "Gautam Buddha Nagar",
    "flno": "",
    "lg": "",
    "loc": "Noida",
    "lt": "",
    "pncd": "201301",
    "st": "Sector 16",
    "stcd": "Uttar Pradesh"
  },  
},
{
  "addr":
  {
    "bnm": "",
    "bno": "Shop No. 1, 3 to 16, Block No 51",
    "city": "",
    "dst": "Agra",
    "flno": "",
    "lg": "",
    "loc": "Sanjay Place, Agra",
    "lt": "",
    "pncd": "282002",
    "st": "Anupam Plaza II",
    "stcd": "Uttar Pradesh"
  },
},
}

我有这个 jquery 代码,但它的抛出错误“未定义”。

$.ajax({
    url: "abc.json",
    dataType: "json",
    success: function (data) {
        console.log(data);
        $.each(data.AdditionalAddress, function (i, val) {
            $.each(val.addr, function (j, k) {
                console.log(k.bno);
            });
        });
    }
});

【问题讨论】:

    标签: jquery arrays json


    【解决方案1】:

    使用x.addr.bno 使用$.each 从您的JSON 中获取bno - 此外,您不需要使用$.each 两次,只需使用一次,如下所示:

    $.each(myJSON.AdditionalAddress, function(j, k) {
      console.log(k.addr.bno) //both bno
    });
    

    您可以阅读 keys 的其余部分以及您希望使用 .dot notation 的密钥到 accessvalue

    现场演示:

    var myJSON = {
      "AdditionalAddress": [{
          "addr": {
            "bnm": "",
            "bno": "B2 B3",
            "city": "",
            "dst": "Gautam Buddha Nagar",
            "flno": "",
            "lg": "",
            "loc": "Noida",
            "lt": "",
            "pncd": "201301",
            "st": "Sector 16",
            "stcd": "Uttar Pradesh"
          },
        },
        {
          "addr": {
            "bnm": "",
            "bno": "Shop No. 1, 3 to 16, Block No 51",
            "city": "",
            "dst": "Agra",
            "flno": "",
            "lg": "",
            "loc": "Sanjay Place, Agra",
            "lt": "",
            "pncd": "282002",
            "st": "Anupam Plaza II",
            "stcd": "Uttar Pradesh"
          },
        }
      ]
    }
    
    $.each(myJSON.AdditionalAddress, function(j, k) {
      console.log(k.addr.bno)
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多