我想知道在检索数据时JSON数据中是否存在键值对。 显示" NA" div元素内部如果不存在,或者显示该键的值。
HTML:
<div id="output"></div>
jQuery的:
$.get('http://api.fixer.io/2000-02-03',function(person){
if(person.hasOwnProperty('rates.BGN')) {
$('#output').text(person.rates.BGN);
}
else {
$('#output').text('NA');
}
});
答案 0 :(得分:1)
首先,您需要将人员解析为JSON。
其次,您滥用hasOwnProperty,它不能用于以您尝试的方式向下钻取多个对象。
最后,hasOwnProperty是不必要的 - 只需测试存在如下:
$.get('http://api.fixer.io/2000-02-03',function(person){
person = JSON.parse(person);
if(person.rates.BGN !== undefined) {
$('#output').text(person.rates.BGN);
}
//etc.