У меня есть массив JSON, и я хочу прочитать ключ

#jquery #arrays #json

#jquery #массивы #json

Вопрос:

У меня есть массив JSON, и я хочу прочитать ключ «bno» и напечатать его значение в текстовой области.

Я хочу, чтобы код 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, но он выдает ошибку «undefined».

 $.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);
            });
        });
    }
});
  

Ответ №1:

Используйте x.addr.bno для получения bno из вашего JSON с помощью $.each — Также вам не нужно использовать $.each дважды, вы просто используете один раз, как показано ниже:

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

Вы можете прочитать остальную часть keys , а также просто использовать .dot notation часть ключа для access его value

Живая демонстрация:

 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>