ionic2 中 JSON 数据的类型错误

TypeError with JSON data in ionic2

我有一个关于在过滤 JSON 数据中的特定变量时如何避免打字稿错误的问题。 我的部分 JSON 数据将如下所示:

With contents of multimedia:

"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:"Cannot read URL of undefined"。 (这是完全可以理解的,因为没有数据可以显示。) 这适用于 Javascript。我不知道如何解决这个问题。

如何避免此错误并成功从该数组中检索其他参数。

提前致谢。 苏雷什

与其尝试直接访问该字段,不如尝试先检查它是否包含该项目。

你可以

item.multimedia[0] && item.multimedia[0].url.indexOf('http') === 0

item.multimedia.length > 0 && item.multimedia[0].url.indexOf('http') === 0

我看不到你的整个代码,所以我可能是错的,但通常我建议做一些不涉及单独索引的事情,这可能非常脆弱。