首页 > 解决方案 > 如何从 JSON 对象的“名字”这样的键中获取值?

问题描述

我有这样的 JSON 对象,我想获取键“First-Name”和“Last-Name”的值

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);

}) 请帮我解决这个问题。

标签: javascriptjqueryarraysjsonobject

解决方案


jQuery检测.First-Name.First仅 ie 它不接受-key表单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']);
   });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


推荐阅读