TypeScript迭代JSON并放置JSON元素

时间:2017-01-25 21:55:41

标签: json angular typescript webstorm

我是TypeScript的新手,但我想要做的事情相当简单,但文档似乎并不包含对JSON的迭代。我想要做的是迭代JSON响应数组并将JSON对象放入每个JSON元素。这是我正在使用的代码,WebStorm中的TypeScript评估器告诉我speakerElement是一个字符串而不是JSON所以我不能使用put函数

return new Promise(resolve => {
   this.http.get('http://.staging.wpengine.com/wp-json/wp/v2/cr3ativspeaker')
   .map(res => res.json())
.subscribe(data => {
  console.log("the speaker data is : ", data);
  console.log("the speaker data is : ", JSON.stringify(data));
  //get each speakers image and append it to their data
  for(let speakerElement in <JSON>data) {

    this.http.get('http://.staging.wpengine.com/wp-json/wp/v2/cr3ativspeaker')
      .map(res => res.json())
      .subscribe(response => {

       speakerElement.put("media_details", response.media_details);

      });

  }

  this.data = data;
  resolve(this.data);
});
});

1 个答案:

答案 0 :(得分:2)

首先,大家都感谢你的建议。我找到了答案,需要一个很小的改变。我在in中使用了For Loop。我需要使用of。正确的代码是

 for(let speakerElement of data) {
            console.log("Speaker element",speakerElement);// element is JSON 

          }