【问题标题】:Converting a json file which has first been converted to an Observable, to a map in typescript, in angular将首先转换为 Observable 的 json 文件转换为打字稿中的地图,角度
【发布时间】:2018-12-12 21:40:29
【问题描述】:

我有一个 json 文件 - dummy,它看起来像这样 -

[
    {"key":"KEY1", "value":["alpha","beta","gamma"]},

    {"key":"KEY2", "value":["A","B","C"]},

    {"key":"KEY3", "value":["One","Foo","Bar"]}
]

我想将此 json 文件转换为与 json 文件中给出的键值对相同​​的映射。

为了实现这一点,我首先创建了一个 observable - myObservable,然后在 component.ts 文件中做了类似的事情 -

myMap: any = {};
myObservable: Observable<any> = Observable.of(this.dummy);

getObservable() {
    return this.myObservable;
}

ngOnInit() {
    this.getObservable()
    .subscribe(myResponse => {
        this.myMap = new Map(myResponse); //Converting myresponse to map here.
    )}.

但是这个类比不起作用。如何将此可观察文件转换为打字稿中的地图?

预期输出:

{
    Key1,[alpha,beta,gamma]
    Key2,[A,B,C]
    Key3,[One,Foo,Bar]
}

【问题讨论】:

  • 欢迎来到 StackOverflow!请发布有关您遇到的错误的更多详细信息(例如通过粘贴错误消息),因为这样会更容易为您提供帮助。干杯:)
  • 请提供您的预期输出
  • 我已经添加了预期的输出
  • 我想将 myResponse 变量转换为地图
  • 我相信你需要做类似.subscribe( res =&gt; { let myResponse = res.json(); })

标签: javascript json angular typescript observable


【解决方案1】:

const dummy = [

     {"key":"KEY1", "value":["alpha","beta","gamma"]},

     {"key":"KEY2", "value":["A","B","C"]},

     {"key":"KEY3", "value":["One","Foo","Bar"]}
 ]
 
 const result = new Map();
 
 dummy.map(item => {

 result.set(item["key"], item["value"]);
 })
 
for (var [key, value] of result.entries()) {
  console.log(key + ' = ' + value);
}

【讨论】:

    猜你喜欢
    • 2019-11-12
    • 2018-04-08
    • 1970-01-01
    • 2020-12-27
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 2017-12-22
    相关资源
    最近更新 更多