首页  >  问答  >  正文

javascript - toJSON中关于序列化的疑问◔ ‸◔?

MDN中对于toJSON()方法的描述,有一个地方不是很明白:

Date 实例引用一个具体的时间点。 调用 toJSON() 返回一个 JSON 格式字符串(使用 toISOString()),表示该日期对象的值。默认情况下,这个方法常用于JSON序列化Date对象

infoQ 中对于序列化的解释:

序列化: 将数据结构或对象转换成二进制串的过程。

toJSON()是用来将Date对象转换成指定格式的字符串形式,而加粗部分却说“常用于JSON序列化Date对象”,这里的序列化应该不是将对象转换成二进制串吧?

问题来啦:
这里的序列化是什么意思?

大家讲道理大家讲道理2770 天前241

全部回复(4)我来回复

  • 大家讲道理

    大家讲道理2017-04-11 11:42:07

    序列化是一个通用的概念,是指将内存中的数据结构转换成可持久存储的形式。

    将数据序列化成二进制、xml、json、普通文本都是序列化。

    回复
    0
  • 阿神

    阿神2017-04-11 11:42:07

    from wiki:

    In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and reconstructed later in the same or another computer environment.

    简单说,序列化就是把一个数据结构转换成一个可以被存储的格式(且能从该存储格式被恢复)的过程。

    infoQ只是一篇文章,只能代表作者自己的意思,不要拿出来当字典用。

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-11 11:42:07

    两篇文章讨论的不是一个东西吧..

    第二篇讨论的应该是 Java 相关的序列化吧

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 11:42:07

    var obj = {
        a: 1,
        b: 2
    }

    序列化后:"{"a":1,"b":2}",序列化就是转为字符串,因为参数不能使对象。

    var date = new Date()
    console.log(date, typeof date)
    console.log(date.toISOString(), typeof date.toISOString())
    console.log(date.toJSON(), typeof date.toJSON())

    回复
    0
  • 取消回复