JSON数据枚举类型

时间:2017-07-12 08:46:41

标签: json jsonschema

我有一个像这样的JSON对象。

var data={
"Company" : "XYZ",
"company" : ['RX','TX']
}

以上json数据有2个键公司,其类型为字符串,公司的类型为枚举但不是数组(我不知道如何在json数据中表示枚举),因为json架构说它是一个数组。我希望它是枚举类型。

那么我将如何在JSON数据中表示枚举类型?

1 个答案:

答案 0 :(得分:2)

JSON没有enum类型。建模enum的两种方法是:

数组,就像您目前一样。数组值是元素,元素标识符将由值的数组索引表示。但是,这不会对稀疏枚举建模(第一个索引不为零的枚举或标识符不是连续的枚举)。

enum suit {
  clubs = 0,
  diamonds,
  hearts,
  spades,
};

// is equivalent to

"suitEnum": ["clubs", "diamonds", "hearts", "spades"];

地图,它不太紧凑,但解决了数组限制:

enum suit {
  clubs = 10,
  diamonds = 20,
  hearts = 30,
  spades = 40,
};

// is equivalent to

"suitEnum": {
  "clubs": 10,
  "diamonds": 20,
  "hearts": 30,
  "spades" 40,
};