【发布时间】:2019-05-24 20:45:30
【问题描述】:
我正在尝试将我的 JSON 数据转换为 KeyValue 数组,以便将其分配给 p-dropdown 组件的选项,但由于某种原因,我无法在数据上调用 JSON.parse()
key-value.ts
export interface KeyValue {
text: string;
value: string;
}
domains.json
{
"Domains": [
{"North America (NAM)": "NAM"},
{"Europe (EUR)": "EUR"},
{"Australia (AUS)": "AUS"},
{"Latin America (LAAM)": "LAAM"},
{"Asia (APA)": "APA"}
]
}
domains.service.ts
getDomains(): any {
return this.getJSON().subscribe(data => {
console.log("JSON data.Domains: " + JSON.stringify(data.Domains)); //See >> output
let sids: KeyValue[] = JSON.parse(data.Domains); // See >> exception
return data.Domains;
});
}
getJSON(): Observable<any> {
return this.http.get("assets/dd.json")
}
>> 输出
JSON data.Domains: [{"North America (NAM)":"NAM"},{"Europe (EUR)":"EUR"},{"Australia (AUS)":"AUS"},{"Latin America (LAAM)":"LAAM"},{"Asia (APA)":"APA"}]
>>异常
core.js:1449 错误语法错误:JSON 中的意外标记 o 在位置 1 在 JSON.parse() 在 SafeSubscriber.eval [as _next] (utilitynet.service.ts:25) 在 SafeSubscriber.__tryOrUnsub (Subscriber.js:243) 在 SafeSubscriber.next (Subscriber.js:190) 在 Subscriber._next (Subscriber.js:131) 在 Subscriber.next (Subscriber.js:95) 在 MapSubscriber._next (map.js:85) 在 MapSubscriber.Subscriber.next (Subscriber.js:95) 在 FilterSubscriber._next (filter.js:90) 在 FilterSubscriber.Subscriber.next (Subscriber.js:95)
【问题讨论】: