Json Axios未正确分析typescript对象
我有一个用户的typescript对象,其中包含一个Json Axios未正确分析typescript对象,json,typescript,axios,Json,Typescript,Axios,我有一个用户的typescript对象,其中包含一个id:number。这个id在axios内部被解析为字符串,这是错误的,我的服务器不接受,所以我想解决这个问题 我的axios呼叫如下所示: axios.post(${url},用户,{withCredentials:true}),用户对象如下所示: export default class User { Id: number; Username: string; Password: string; con
id:number
。这个id在axios内部被解析为字符串,这是错误的,我的服务器不接受,所以我想解决这个问题
我的axios呼叫如下所示:
axios.post(
${url},用户,{withCredentials:true})代码>,用户对象如下所示:
export default class User {
Id: number;
Username: string;
Password: string;
constructor(Id: number, Username: string, Password: string) {
this.Id = Id;
this.Username = Username;
this.Password = Password;
}
}
解析的对象如下所示:“{”Id:“1337”,“Username:“test”,“Password:“admin”}”
预期的对象如下所示:“{”Id:1337,“Username”:“test”,“Password”:“admin”}”
我的想法是手动构建json并将其字符串化,但由于axios在内部再次使用了stringify,这并不像预期的那样有效。问题与axios无关。我从
标记中获取了值,并将其直接放入我的Id属性中。这个值是一个字符串,我的id属性也是一个导致问题的字符串。将初始化值转换为number有效:number(this.updateUserId)
并解决了我的问题
这里还进一步解释了这一点:axios几乎肯定对此不负责。在哪里/如何填充对象上的Id
属性?谢谢,我是本地开发人员,没想到typescript会允许我将字符串放入数字属性中。。。我将select html元素的值直接分配给我的id,实际上它是一个字符串。@T.J.Crowder同意你的看法。这里有点问题。TypeScript在运行时不存在,只在传输时存在-如果连接的是“{\'Id\:\'1337\'}”
,则Id
属性的值将是一个字符串。的重复(value
始终是一个字符串)。