Angular4 json数据分配给变量

时间:2018-03-08 03:50:09

标签: json angular typescript

我正在尝试将值放在变量中以在html部分中使用它,但非解决方案正在运行:

{{ user.ParamValue }}

这设置了用户变量,我试图像这样访问:

[{"acname":"test2","email":"test2@gmail.com","mobile":"+xxxxxxxxxx"}]

但它没有显示任何结果。

我有像

这样的数据
ERROR TypeError: Cannot read property 'mobile' of undefined
    at Object.eval [as updateRenderer] (ProfileComponent.html:61)
    at Object.debugUpdateRenderer [as updateRenderer] (core.js:14377)
    at checkAndUpdateView (core.js:13513)
    at callViewAction (core.js:13858)
    at execEmbeddedViewsAction (core.js:13816)
    at checkAndUpdateView (core.js:13509)
    at callViewAction (core.js:13858)
    at execComponentViewsAction (core.js:13790)
    at checkAndUpdateView (core.js:13514)
    at callViewAction (core.js:13858)

我收到的数据总是一行,所以没有像ngfor那样使用迭代。我只想从中获得价值。

当我访问它时:{{user.acname}}它显示用户。但是,它在控制台中显示错误:

{{1}}

enter image description here

2 个答案:

答案 0 :(得分:1)

访问索引,数据仍然是数组。

GetUserData(){
    this.userService.GetUserDetails().subscribe(data=>{
      if(Array.isArray(data)) {
          this.user=data[0]; // since returns always returns a single object in the array.
      }
      console.log(this.user);
    });
}

然后使用:

{{ user.acname }} 

答案 1 :(得分:0)

试试这个

this.user=data;
this.user = JSON.parse(this.user);

JSON.parse函数可帮助您将JSON字符串转换为对象