我有一个班级
export class User {
constructor(public firstname:string,
public lastname:string
public email:string
public password:string){}
}
我想将它作为Json发送,但User
数据应该是另一个对象内的Json对象。最终的json应该如下所示
{
"external-profile":{
"firstname":"something",
"lastname":"something",
"email":"some@something",
"password":"something"
}
}
我怎么能在Angular中做到这一点?我尝试了以下两种方法但他们没有工作
1)创建User
类型的对象并执行JSON.stringify(user)
生成
{
"firstname":"something", <-- not embedded in external-profile
"lastname":"something",
"email":"some@something",
"password":"something"
}
2)创建另一个类UserProfiles如下
class UserProfile{
constructor(public externalProfile:User){} //I can't use hypen separated variable names in Typescript it seems.
}
如果我创建了UserProfile
和JSON.stringify
类型的对象,则上面会生成。
{
"externalProfile":{ <-- I want external-profile, not externalProfile
"firstname":"something",
"lastname":"something",
"email":"some@something",
"password":"something"
}
}
答案 0 :(得分:1)
变量和参数名称不能包含特殊字符,但如果引用类字段,则只能将构造函数参数的语法糖用于字段:
class UserProfile{
'external-profile': User
constructor(externalProfile:User){
this["external-Profile"] = externalProfile;
}
}
你不需要另一节课,但你可以打电话:
JSON.stringify({ 'external-profile': user })