是否可以使Avro模式中的地图中的字段具有确定的顺序。我尝试在JsonPropertyOrder(alphabetical=true)
中使用avdl
批注,但它似乎对地图中的字段没有影响。
PS。我并不是说要根据某个字段对记录进行排序。打印具有五个字段的地图的示例预期输出应为
"params": {
"map": {
"a_param": {
"int": 10
},
"b_param": {
"int": 10
},
"c_param": {
"int": 10
},
"d_param": {
"int": 10
},
"e_param": {
"int": 100
}
}
}
即地图中的所有字段均按字母顺序排序
答案 0 :(得分:0)
我在标准中看不到任何明确定义的机制,可以满足您的需求。如果预先知道所有可能的映射键,则可以考虑将映射更改为记录(定义了字段顺序),并使其字段类型成为[“ null”,“ int”]的并集类型缺少值。
如果您确实需要自定义JSON的外观,则Avro模式可能是错误的放置位置。我不知道在哪里或如何使用输出,或者我会提出建议。