Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 2-创建嵌套的JSON对象_Json_Typescript_Angular - Fatal编程技术网

Angular 2-创建嵌套的JSON对象

Angular 2-创建嵌套的JSON对象,json,typescript,angular,Json,Typescript,Angular,我正在从事Angular 2项目,该项目要求我创建一个地址详细信息如下所示的用户 { "address": { "addition": null, "city": "Eindhoven", "housenumber": 12, "street": "Streetname"}, "email": "a@b.com", "password": "", "username": "YourName"} 当我得到一个用户对象时,上面的例子就是结果。要将用户对象发布到后端,我需要创建具有相同结构的JSON

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

{ "address": {
"addition": null,
"city": "Eindhoven",
"housenumber": 12,
"street": "Streetname"},
"email": "a@b.com",
"password": "",
"username": "YourName"}
当我得到一个用户对象时,上面的例子就是结果。要将用户对象发布到后端,我需要创建具有相同结构的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之前,我需要帮助创建具有地址的用户。

如果您定义

usermodel = new User('','','',Address)
在“createEmptyUser”之外,只需返回

JSON.stringify(this.usermodel)

在它内部,JSON将以其形状出现。

好吧,将一个地址而不是null传递给用户构造函数。具体的问题是什么?嘿,你应该编辑你的文档,而不是删除并重新发布,只需稍加修改。如果你想使用表单,请查看:谢谢。但请您进一步解释一下好吗?从“/Address”/***导入{Address}Adjoa于2016年6月14日创建。*/导出类用户{name:string;username:string;email:string;address:address;构造函数(name:string,username:string,email:string,address:address){this.name=name;this.username=username;this.email=email;this.address=address;}usermodel=new User('','','',address);public static createEmptyUser():User{return JSON.stringify(this.usermodel);}}}如果新用户有提交表单,它就可以工作:在我使用代码时,this.usermodel在我看来并没有声明。但是它被声明了。我还得到了一个错误异常:错误:未捕获(承诺中):异常:0:0中的错误原始异常:RangeError:超出了原始STACKTRACE的最大调用堆栈大小:RangeError:超出了新用户()的最大调用堆栈大小新用户()错误上下文:[object]