解析我的Json文件时遇到错误,该文件在https://jsonlint.com/
上有效@Injectable()
export class LightParserService{
ITEMS_URL = "./lights.json";
constructor(private http: Http) {
}
getItems(): Promise<Light[]> {
return this.http.get(this.ITEMS_URL).toPromise()
.then(resp => {
return resp.json() as Light[];
});
}
}
当我在另一个组件中使用我的函数时:
lights : Light[] = [];
getLights(): void{
this.lightService.getItems().then(light => this.lights = light);
}
在我的网站上我得到了:错误:未捕获(在承诺中):SyntaxError:意外的令牌&lt;在位置0的JSON中
有谁知道如何解决这个问题?我的JSON文件是有效的,我的Light对象包含有效字段,所以我不明白。
答案 0 :(得分:1)
DATETIME
可能返回HTML而不是json,所以你的resp.json()失败了。您可以在./lights.json
行之前添加console.log(resp.text())
,这样您就可以看到原始响应(或者您只需在开发工具网络标签中将其添加到其中)