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
我看不到你的整个代码,所以我可能是错的,但通常我建议做一些不涉及单独索引的事情,这可能非常脆弱。
我有一个关于在过滤 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
我看不到你的整个代码,所以我可能是错的,但通常我建议做一些不涉及单独索引的事情,这可能非常脆弱。