【问题标题】:Angular 2 - Create a nested JSON objectAngular 2 - 创建一个嵌套的 JSON 对象
【发布时间】:2016-10-16 23:23:19
【问题描述】:

我正在开发一个 Angular 2 项目,该项目要求我创建一个用户,其地址详细信息如下所示

{ "address": {
"addition": null,
"city": "Eindhoven",
"housenumber": 12,
"street": "Streetname"},
"email": "a@b.com",
"password": "",
"username": "YourName"}

当我得到一个用户对象时,上面的例子就是结果。要将用户对象 POST 到后端,我需要创建具有相同结构的 JSON。

当我收到这个 JSON 文件时,我能够显示它的详细信息。我创建了两个类:

import {Address} from "./Address";
/**
 * Created by Adjoa on 6/14/2016.
 */
export class User {
    name:string;
    username:string;
    email:string;
    address:Address;



    constructor(name:string, username:string, email:string, address:Address) {
        this.name = name;
        this.username = username;
        this.email = email;
        this.address = address;
    }

    public static createEmptyUser():User{
        return new User("","","",null);
    }
}

在将地址发送到 API 之前,我需要帮助创建具有地址的用户。

【问题讨论】:

  • 好吧,将地址而不是 null 传递给 User 构造函数。具体问题是什么?
  • 嘿,您应该编辑您的previous question,而不是删除并稍作修改后重新发布。
  • 如果您想为此使用表单:请查看:github.com/cloudnc/ngx-sub-form

标签: json typescript angular


【解决方案1】:

如果你定义了

usermodel = new User('','','',Address)

'createEmptyUser'之外,然后返回

JSON.stringify(this.usermodel)

在其中,JSON 将按原样出现。

【讨论】:

  • 谢谢。但是你能再解释一下吗?
  • 从“./Address”导入{Address}; /** * 由 Adjoa 于 2016 年 6 月 14 日创建。 */ 导出类用户 { 名称:字符串;用户名:字符串;电子邮件:字符串;地址:地址;构造函数(名称:字符串,用户名:字符串,电子邮件:字符串,地址:地址) { this.name = name; this.username = 用户名; this.email = 电子邮件; this.address = 地址; } usermodel = new User('','','',地址);公共静态 createEmptyUser():User{ return JSON.stringify(this.usermodel); } }
  • 如果新用户有表单提交就可以了:angular.io/docs/ts/latest/guide/forms.html
  • 当我使用你的代码时, this.usermodel 在我看来并没有声明。但它被宣布了。
  • 我也收到一个错误异常:错误:未捕获(承诺中):异常:错误:0:0 原始异常:RangeError:超出最大调用堆栈大小原始堆栈跟踪:RangeError:最大调用堆栈大小新用户 (127.0.0.1:8080/app/User.ts!transpiled:13:30) 超出新用户 (127.0.0.1:8080/app/User.ts!transpiled:14:38) 错误上下文:[object Object]
猜你喜欢
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
  • 2017-12-22
  • 2021-10-02
  • 2021-01-01
相关资源
最近更新 更多