这是我的代码,如果浏览器中的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);
}
)
}
}
答案 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);