jQuery parse.JSON忽略未定义

时间:2018-10-04 04:42:43

标签: jquery json

我有一个API通过AJAX返回大型JSON响应。我parse.JSON并使用jQuery $.each遍历以将结果附加到DOM元素。该脚本需要考虑所有潜在的键/值,因为有时它们不在地址对象中的JSON中(例如,地址方向)。

这将导致undefined写入页面中的address元素。

(例如-> 123未定义Maple Street未定义)

我可以检测未定义的值以防止将undefined写入页面,如下所示:

$.each(json.address_list, function(i, val) {

  if (typeof this.address.street_direction !== 'undefined') { 
    var street_direction = this.address.street_direction 
  } else { 
    var street_direction = '' 
  };

  $('#address_line').append('<p>'+street_number+' '+street_direction+' '+street_name+' '+street_suffix+' '+unit_number+'</p>;

});

这似乎是很多代码,必须检查所有值(street_suffix,单位编号等),以防止将undefined写入DOM元素?

是否有一种快速的方法或缩短的语法来忽略undefined变量?我到处搜索,找不到简单的轻量级解决方案。我认为解析JSON时很常见吗?!

1 个答案:

答案 0 :(得分:0)

尝试一下:

'Hello ' + (window.nameOfSomeoneUndefind || '') + ', nice to meet you';