JSON 数据枚举类型

Aka*_*esh 1 json jsonschema

我有一个这样的 JSON 对象。

var data={
"Company" : "XYZ",
"company" : ['RX','TX']
}
Run Code Online (Sandbox Code Playgroud)

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

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

Pie*_*rre 6

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

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

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

// is equivalent to

"suitEnum": ["clubs", "diamonds", "hearts", "spades"];
Run Code Online (Sandbox Code Playgroud)

一个不太紧凑但解决了数组限制的map

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

// is equivalent to

"suitEnum": {
  "clubs": 10,
  "diamonds": 20,
  "hearts": 30,
  "spades" 40,
};
Run Code Online (Sandbox Code Playgroud)