[英]TypeError with JSON data in ionic2
我有一个关于在过滤JSON数据中的特定变量时如何避免打字稿中出现错误的问题。 我的JSON数据的一部分如下所示:
带有多媒体内容:
"per_facet": [],
"geo_facet": [],
"multimedia": [
{
"url": "https://static01.nyt.com/images/2016/09/07/world/06NYTNow-Obama2/06NYTNow-Obama2-thumbStandard-v2.jpg",
"format": "Standard Thumbnail"
},
{
"url": "https://static01.nyt.com/images/2016/09/07/world/06NYTNow-Obama2/06NYTNow-Obama2-thumbLarge-v2.jpg",
"format": "thumbLarge",
}]
没有多媒体内容的另一个元素:
"per_facet": [],
"geo_facet": [],
"multimedia": [],
如您所见,数组中的“ multimedia”变量在数组中的一个元素上具有内部值,而在另一个元素中则没有。
这就是我尝试检索该参数(是图像)的方式。
<img [src]= "item.multimedia[0].url" *ngIf="item.multimedia[0].url.indexOf('http') === 0">
当我尝试读取多媒体数组的url参数时,会导致错误ERR:“无法读取未定义的URL”。 (由于没有数据可显示,因此完全可以理解。)这适用于Javascript。 我不知道如何解决这个问题。
如何避免此错误并从此数组成功检索其他参数。
提前致谢。 苏雷什
与其尝试直接访问该字段,不如先检查它是否包含该项目。
你可以做
item.multimedia[0] && item.multimedia[0].url.indexOf('http') === 0
要么
item.multimedia.length > 0 && item.multimedia[0].url.indexOf('http') === 0
我看不到您的整个代码,因此可能会出错,但是通常我建议您做一些不涉及单个索引的操作,这可能非常脆弱。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.