在JavaScript中,是否有一个词来描述一个JSON可序列化的对象?

时间:2014-07-25 18:40:08

标签: javascript json terminology code-complexity

我正在寻找一个强调简单性的简单对象的术语。特别是,没有自引用的对象,并且不包含任何方法,绑定等(即JSON可序列化)。

现在我使用的词语如下:

  1. “flat object”
  2. “简单对象”
  3. “数据容器对象”
  4. “JSON-serializable object”
  5. 我不喜欢他们,因为:

    1. 意味着缺乏层次结构,这实际上很好。
    2. 似乎含糊不清。
    3. 也似乎含糊不清。
    4. 不是对复杂性的直接引用,而是对要求的强调。通常,JSON可序列化实际上不是一个要求,而简单性是。
    5. 我想要描述的对象示例:

      var good_1 = {};
      
      var good_2 = {a: 1, b: 'str'}
      
      var good_3 = {thing: [1,
                            {a: 1,
                             b: 'str'},
                            'word'],
                    otherThing: 42};
      

      我要区分的对象示例:

      var bad_1 = {thing: 3,
                   getThing: function () { return this.thing; }};
      
      var bad_2 = {a: 1};
      bad_2['self'] = bad_2;
      

      问题

      我应该怎样调用没有自引用的对象,并且不包含任何方法,绑定等(即JSON可序列化的)?

2 个答案:

答案 0 :(得分:1)

The Wikipedia article on serialization将其描述为:

  

在计算机科学中,在数据存储的上下文中,序列化是将数据结构或对象状态转换为稍后可以在相同或另一计算机环境中存储和重建的格式的过程。当根据序列化格式重新读取所得到的一系列位时,它可用于创建原始对象的语义相同的克隆。对于许多复杂的对象,例如那些广泛使用引用的对象,这个过程并不简单。面向对象对象的序列化不包括它们之前与之密不可分的任何关联方法。

因此,可序列化的对象几乎描述了您在问题中显示的对象类型,不仅在Javascript中,还在其他语言中。

答案 1 :(得分:0)

普通旧数据结构。

PODS,简而言之。它们是仅由数据字段组成的数据结构,没有行为。该术语与语言无关。

上下文:它们经常被提及与POJO(Plain Old Java Objects)相同,它们的定义有所不同。 This wikipedia page说他们基本上是PODS,有吸气剂和二传手。然而,一些谷歌搜索会出现分歧。