我有一个像这样的JSON对象。
var data={
"Company" : "XYZ",
"company" : ['RX','TX']
}
以上json数据有2个键公司,其类型为字符串,公司的类型为枚举但不是数组(我不知道如何在json数据中表示枚举),因为json架构说它是一个数组。我希望它是枚举类型。
那么我将如何在JSON数据中表示枚举类型?
答案 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,
};