我有这样的JSON对象,我想获取键“名字”和“姓氏”的值
data={
{
"objects":[
{
"ID":"1",
"Country":"Sudan",
"First-Name":"Noemi",
"Last-Name":"Harris"
},
{
"ID":"2",
"Country":"Honduras",
"First-Name":"Carol",
"Last-Name":"Mould"
},
{
"ID":"3",
"Country":"Togo",
"First-Name":"Dakota",
"Last-Name":"Tindall"
},
{
"ID":"4",
"Country":"Lebanon",
"First-Name":"Penelope",
"Last-Name":"Donovan"
},
{
"ID":"5",
"Country":"Bahrain",
"First-Name":"Rufus",
"Last-Name":"Baker"
}
]}
我尝试过这个JQuery,但无法获得价值
$each(data.objects,function(index,value){
console.log(value.First-Name);
}) 请为这个问题帮助我。
答案 0 :(得分:2)
jQuery
仅将.First-Name
检测为.First
,即它不接受格式为-key
的{{1}}。因此,您需要做的是name-key
['First-Name']
data={
"objects":[
{
"ID":"1",
"Country":"Sudan",
"Frist-Name":"Noemi",
"Last-Name":"Harris"
},
{
"ID":"2",
"Country":"Honduras",
"Frist-Name":"Carol",
"Last-Name":"Mould"
},
{
"ID":"3",
"Country":"Togo",
"Frist-Name":"Dakota",
"Last-Name":"Tindall"
},
{
"ID":"4",
"Country":"Lebanon",
"Frist-Name":"Penelope",
"Last-Name":"Donovan"
},
{
"ID":"5",
"Country":"Bahrain",
"Frist-Name":"Rufus",
"Last-Name":"Baker"
}
]}
$.each(data.objects,function(index,value){
console.log("First name: "+value['Frist-Name']);
console.log("Last name: "+value['Last-Name']);
});
答案 1 :(得分:1)
您需要使用方括号表示法,如下所示:
const data = {
"objects": [{
"ID": "1",
"Country": "Sudan",
"First-Name": "Noemi",
"Last-Name": "Harris"
},
{
"ID": "2",
"Country": "Honduras",
"First-Name": "Carol",
"Last-Name": "Mould"
},
{
"ID": "3",
"Country": "Togo",
"First-Name": "Dakota",
"Last-Name": "Tindall"
},
{
"ID": "4",
"Country": "Lebanon",
"First-Name": "Penelope",
"Last-Name": "Donovan"
},
{
"ID": "5",
"Country": "Bahrain",
"First-Name": "Rufus",
"Last-Name": "Baker"
}
]
}
$.each(data.objects, function(index, value) {
console.log(value["First-Name"]);
console.log(value["Last-Name"]);
})
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
您也可以使用纯JavaScript来做到这一点:
const data = {
"objects": [{
"ID": "1",
"Country": "Sudan",
"First-Name": "Noemi",
"Last-Name": "Harris"
},
{
"ID": "2",
"Country": "Honduras",
"First-Name": "Carol",
"Last-Name": "Mould"
},
{
"ID": "3",
"Country": "Togo",
"First-Name": "Dakota",
"Last-Name": "Tindall"
},
{
"ID": "4",
"Country": "Lebanon",
"First-Name": "Penelope",
"Last-Name": "Donovan"
},
{
"ID": "5",
"Country": "Bahrain",
"First-Name": "Rufus",
"Last-Name": "Baker"
}
]
}
data.objects.forEach(function(value) {
console.log(value["First-Name"]);
console.log(value["Last-Name"]);
});
答案 2 :(得分:0)
请尝试一下,foreach部分可能不正确。
var j_data = JSON.parse(data)
foreach(var item in j_data.objects)
{
console.log(item.First_Name);
}
答案 3 :(得分:0)
首先,您的对象顶部有一个额外的{。下面是答案。
const data={
//{
"objects":[
{
"ID":"1",
"Country":"Sudan",
"First-Name":"Noemi",
"Last-Name":"Harris"
},
{
"ID":"2",
"Country":"Honduras",
"First-Name":"Carol",
"Last-Name":"Mould"
}
]};
for(let char in data.objects){
console.log(data.objects[char]['First-Name']);
console.log(data.objects[char]['Last-Name']);
}