[英]Avro array default is null and not an empty array
我的 Avro 架構(user.avsc)中有以下內容:
{
"name": "properties",
"type": {
"type": "array",
"items": "long"
},
"default": []
}
我希望該數組默認為空數組[]
,但是當我運行測試時,它默認為null
。 我正在使用生成的Builder.build()
來創建我的User
class 的實例而不設置此字段(因此它將使用默認值)。 為什么這不默認為[]
?
當字段不存在時,默認值用於反序列化,而不是用於序列化
正如規范中所寫
default
:此字段的默認值,僅在讀取缺少該字段以用於模式演變目的的實例時使用。 默認值的存在不會使該字段在編碼時成為可選
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.