Angular 角度2。检查Json键是否包含内容
在下面的Json中,我收到了要在屏幕上显示的不同产品。请注意,Medical250有价值,但医院、生命和牙科没有价值。这取决于我发送给API提要的状态和时间Angular 角度2。检查Json键是否包含内容,angular,typescript,Angular,Typescript,在下面的Json中,我收到了要在屏幕上显示的不同产品。请注意,Medical250有价值,但医院、生命和牙科没有价值。这取决于我发送给API提要的状态和时间 { "success": "1", "quotekey": "1e2532897f24a46b98799665e43052423", "membership": [{ "planid&
{
"success": "1",
"quotekey": "1e2532897f24a46b98799665e43052423",
"membership": [{
"planid": "1",
"membership": "Select Basic",
"fee": "10.95"
},
{
"planid": "2",
"membership": "Select Silver",
"fee": "19.95"
},
{
"planid": "3",
"membership": "Select Gold",
"fee": "29.95"
},
{
"planid": "4",
"membership": "Select Platinum",
"fee": "39.95"
},
{
"planid": "5",
"membership": "Select Diamond",
"fee": "49.95"
}
],
"dental": [],
"medical0": [],
"medical250": [{
"plannumber": "1",
"single": "9.49",
"couple": "18.97",
"singlewithdependents": "21.82",
"family": "26.56"
},
{
"plannumber": "2",
"single": "12.28",
"couple": "24.55",
"singlewithdependents": "28.23",
"family": "34.37"
},
{
"plannumber": "3",
"single": "14.07",
"couple": "28.14",
"singlewithdependents": "32.36",
"family": "39.40"
},
{
"plannumber": "4",
"single": "16.74",
"couple": "33.48",
"singlewithdependents": "38.50",
"family": "46.87"
}
],
"hospital": [],
"life": []
}
我正在解析该Json并获取如下值:
this.MedicalQuote = this.APIresult[0].medical250[0].single;
等等。。。但是当我尝试获取此信息时。apireult[0]。dental[0]。single;这不存在,我的代码崩溃了。有没有办法确定一个键(如本例中的dental键)是否包含任何值,或者它是否为空[]?所有键都有一个名为single的值,但成员资格除外,该值始终包含值
我现在正在为每种产品做try-catch e,但它看起来不像是一个干净的解决方案,我想用正确的方法来做
谢谢。使用if语句检查属性是否存在,例如:
if(thisSession.hasOwnProperty('dental')){
//your code...
}
使用if语句检查属性是否存在,例如:
if(thisSession.hasOwnProperty('dental')){
//your code...
}
您可以添加?在可以为空的属性之后签名,它将返回未定义的
const result=this.apireult[0].dental[0]?.single
然后结果变量将是未定义的,您可以根据需要使用它。您可以添加?在可以为空的属性之后签名,它将返回未定义的
const result=this.apireult[0].dental[0]?.single
然后,结果变量将是未定义的,您可以根据需要使用它。在此行之前this.apireult[0].medical250[0].single,如果this.apireult[0].medical250&&this.apireult[0].medical250.length>0。在此行之前this.apireult[0].medical250[0].single,如果this.apireult[0].medical250&&this.apireult[0].medical250.length>0.Hi Igor,则需要检查medical250是否存在。我不知道牙科是否有价值。嗨,伊戈尔。我不知道dental是否有值。