#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>