2017-07-11 40 views
0

我想从返回的JSON请求中检索特殊数组元素。到目前为止,我可以得到整个饲料,但我正在努力如何将其限制到一个特定的元素。Ionic返回JSON数组中的特定数组项目

到目前为止,我在我的服务控制器中有这个;

getJsonData(){ 
    return this.http.get('https://www.reddit.com/r/worldnews/.json').map(res => res.json()); 
} 

在我的页面中,

getdata() { 
    this.HttpModule.getJsonData().subscribe(
     result => { 
     this.News= result.data.children(1); 
     console.log("success:"+this.News); 
     }, 
     err => { 
     console.error("Error : "+err); 
     }, 
    () => { 
     console.log("getData completed"); 
     } 
    ); 
    } 

应该children由我试图children(1)的猜测,但它没有工作

+0

你尝试解析您的结果与'JSON反对.Parse'然后访问儿童[1]? –

回答

0

假设result.data是数组。 我们可以做

for (let item of result.data) 
{ 
    console.log(item.field1); 
    console.log(item.field2); 

} 
+0

是的,如果我想要第1000个元素,这是否意味着我必须迭代999个项目才能到达那里? – RedCrusador

1

children属性是一个数组,并在JavaScript来访问您使用[](支架符号)数组项。

所以使用

this.News= result.data.children[1]; 

还要注意的是阵列中的JavaScript是从零开始的,因此[1]将返回第二个元素

+0

这是我尝试的第一件事,不幸的是,这不起作用:TypeError:result.data.children不是函数 – RedCrusador

+0

@RedCrusador只是为了确认,你使用了***方括号***'[]'而不是***括号***'()',你仍然得到关于*不是函数*的错误? –

+0

是的,这就是我回来的,他们是[] – RedCrusador