Axios无法正确解析打字稿对象

时间:2020-07-03 12:19:15

标签: json typescript axios

我有一个用户的打字稿对象,其中包括一个id: number。此ID正在内部从axios解析为字符串,这是错误的,服务器未接受,所以我想解决此问题。

我的axios呼叫看起来像这样: axios.post( $ {url} , user, { withCredentials: true });,User对象如下所示:

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,因此无法按预期工作。

1 个答案:

答案 0 :(得分:0)

该问题与axios无关。我从<select>标记中获取了值,并将其直接放入我的Id属性中。该值是一个字符串,所以我的id属性也是一个导致问题的字符串。将初始化时的值强制转换为数字:Number(this.updatedUserId)解决了我的问题。

这也可以在这里进一步解释:Incorrect result in JavaScript calculation