gpt4 book ai didi

java - 在 Avro Schema 中定义空字符串

转载 作者:行者123 更新时间:2023-12-01 17:26:00 24 4
gpt4 key购买 nike

我目前遇到 Avro JsonDecoder 问题。 Avro 用于版本 1.8.2。 .avsc 文件定义如下:

{
"type": "record",
"namespace": "my.namespace",
"name": "recordName",
"fields": [
{
"name": "Code",
"type": "string"
},
{
"name": "CodeNumber",
"type": "string",
"default": ""
}
]
}

当我现在运行测试用例时,我得到一个 org.apache.avro.AvroTypeException: Expected string。得到END_OBJECT。抛出错误的类是 JasonDecoder。对我来说,仅使用 "" 作为默认值,我这边的默认值处理可能不正确。仅当该字段根本不可用时才会发生错误,但根据我的理解,这是应该使用默认值的情况。如果我将 json 中的值设置为 "CodeNumber": "" 解码器不会有任何问题。有什么提示或想法吗?

最佳答案

发现这个:

Turns out the issue is that the default values are just ignored by the java implementations. I've added a workaround which will catch the exception and then look for a default value. Will be in release 1.9.0

来源:https://github.com/sksamuel/avro4s/issues/106

如果可能,请尝试将您的 Avro Decoder 升级到 1.9.0 版本。

关于java - 在 Avro Schema 中定义空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61210477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com