json Kafka自动将字符串字段转换为整数

ca1c2owp  于 2023-01-27  发布在  Kafka
关注(0)|答案(1)|浏览(158)

当我发送一条包含数字字符串的消息时,我在使用Kafka时遇到了一个奇怪的行为:

{
   "test1": "1",
   "test2": "9000000000000000",
   "test3": "9999999999999999",
   "test4": "10000000000000000"
}

当我在我的主题中生成这个消息时,Kafka根据值的不同将它们转换为Int或非Int。下面是在我的主题中生成后的结果:

{
  "test1": "1",
  "test2": "9000000000000000",
  "test3": 9999999999999999,
  "test4": 10000000000000000
}

test3和test4被转换为Int值,而不是保留为字符串。
我已经用C#客户端测试过了,也用了confluent web app。有什么方法可以避免这种自动转换吗?

vkc1a9a2

vkc1a9a21#

Kafka没有这样做,而你的序列化框架做了。例如,如果你有一个JSON模型,它将字段定义为Integer,而不是String,它可以为你解析和类型转换这些值。

相关问题