typescript自动序列化一个类实例?

时间:2017-01-02 21:51:56

标签: javascript json serialization typescript

我刚刚为类实现了一个序列化程序,如下所示:

import {File} from './file'
import Serialization from './serializable'

class User implements Serialization<User> {
  username: string
  deserialize(input) {
    this.username = input.username

    return this
  }

}

省略了一些细节

但是,我想要进行序列化并将此对象转换为Json,我需要实现一个与我在该反序列化器中编写的相反的序列化器

但令人费解的是,当我这样做时:

app.use('/abc', (req, res) => {
  getLoggedInUser(sessionToken)
    .then(
      user => {
        const tmp: User = s
        res.send(tmp)
      }
    ).catch(
      err => {
        console.log("err =" + JSON.stringify(err))
      }
  )

express实际上返回了此User对象的JSON版本。

我对这种行为感到非常惊讶。这是否意味着我不需要序列化器,因为它自动完成了打字稿?或者我错过了什么?

1 个答案:

答案 0 :(得分:1)

如果是对象或数组,它会将其字符串化为JSON。来自Express docs:

  

当参数是数组或对象时,Express会响应   JSON表示:

res.send({ user: 'tobi' });
res.send([1,2,3]);

https://expressjs.com/en/api.html#res.send