Angular 4 JSON字符串到数组

时间:2017-10-02 13:08:13

标签: angular

这是我的代码,如果浏览器中的console.log(数据)是

app.component.ts:34 [{" SemesterId":" 2017年秋季"},{" SemesterId":" 2017年春季&#34 ;}]

如何将此json字符串转换为数组并显示它?      this.result1 =数据[' SemesterId'];不起作用。请看一下。

interface semester {
    SemesterId: string;

  }

@Component({
selector: 'app-root',
template: `
<ul>
  <li *ngFor="let h of result1">{{h}}</li>
  </ul>
`,
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';

constructor(private http: HttpClient) {

}

result1 :string;
r1:object;
ngOnInit(): void {
  this.http.get('http://localhost:13043/students/courses/all').subscribe(
    data=>{
      this.result1=data['SemesterId'];
      console.log(data);
    }      
  )
  }

}

2 个答案:

答案 0 :(得分:1)

将您的服务更改为

this.http.get('http://localhost:13043/students/courses/all').subscribe(
    data=>{
      this.result1=data;

    }      
  )

在您的模板中

<ul>
  <li *ngFor="let h of result1">{{h.SemesterId}}</li>
  </ul>

答案 1 :(得分:0)

您必须按照以下方式映射您的回复:

this.http.get('http://localhost:13043/students/courses/all')
         .map((result) => result.json())
         .subscribe((data) => console.log(data));

您的端点正在返回JSON字符串,您必须将其解析为一个对象,以便按照您希望的方式使用它。

您也可以通过调用:

以不同的方式执行此操作
this.result = JSON.parse(data);