avro union的json编码

2023-12-07

我的 avro 模式中有一个 favorite_number 的联合,它可以是 null 或 int。当我对对象进行 json 编码时,我得到:

{“name”:“Alyssa”,“favorite_number”:{“int”:7},“favorite_color”:null}

我试图摆脱联合的类型指示符,在本例中是 int,以便它变成:

{"name": "Alyssa", "favorite_number": 7, "favorite_color": "blue"}

avro 架构:

{"name": "person", "type": "record",
           "fields": [
              {"name": "name", "type": "string"},
              {"name": "favorite_number", "type": ["null", "int"], "default": null},
              {"name": "favorite_color", "type": "string"}
           ]
   }

有没有办法做到这一点?谢谢!


编辑整个答案:)

看起来不可能直接使用 Avro API 来完成此操作。有一个拉取请求待处理一段时间以支持可空类型

https://issues.apache.org/jira/browse/AVRO-1582

EDITING:

根据您的评论,我发现尝试在没有数据类型的情况下序列化同样的问题,我最终使用了中定义的 toString 函数https://avro.apache.org/docs/1.8.1/api/java/org/apache/avro/generic/GenericData.html#toString(java.lang.Object),它无法正常工作的唯一情况是对于具有循环引用的模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

avro union的json编码 的相关文章

  • 为什么连接器没有使用我的 Tomcat 6 执行程序线程池?

    我的 server xml 如下所示
  • 浏览时 Java Applet 不会被终止

    当用户离开加载小程序的页面时 如何停止 Java 小程序的进程 我正在使用 Chrome 现在要杀死小程序 我必须使用窗口的任务栏并杀死进程 java exe Java applet 具有生命周期方法 那些是init start stop
  • rmi类找不到异常

    我使用 java rmi 编写了一个简单的项目并导出到可执行 jar 文件 当我尝试运行它时 有时会出现异常 有时会起作用 当我指定 Djava rmi server codebase file serverClasses 时 它似乎没有正
  • 将文件和关联数据发布到 RESTful Web 服务(最好以 JSON 形式)

    在一个应用程序中 我正在开发 RESTful API 我们希望客户端以 JSON 形式发送数据 该应用程序的一部分要求客户端上传文件 通常是图像 以及有关图像的信息 我很难在单个请求中追踪这种情况是如何发生的 是否可以将文件数据 Base6
  • Java TCP Echo 服务器 - 广播

    我有一个简单的回显服务器 我希望当连接的用户向服务器键入任何内容时 所有其他客户端和该客户端都会收到消息 MOD 它现在不会发送给所有客户端 但它应该发送 而且我只是不知道我的代码出了什么问题 所以现在它只会将消息 MOD 发送给发送消息的
  • 为什么 JSON.stringify() 接受 Date 对象?

    至少在 Firefox 中 您可以对 Date 对象进行字符串化 gt gt gt JSON stringify now new Date now 2012 04 23T18 44 05 600Z 这是有效的 因为 在 Firefox 中
  • 使用 PowerMock 和 TestNG 模拟单个静态方法

    class StaticClass public static String a return a public static String ab return a b 我想嘲笑StaticClass a以便它返回 x 并致电StaticC
  • 无法从 PDFA1-a 格式文档中提取图像

    我正在使用以下代码从 PDFA1 a 格式的 pdf 中提取图像 但我无法获取图像 List
  • 当我打印出数组列表的索引时如何删除最后一个逗号[重复]

    这个问题在这里已经有答案了 List
  • 为什么在大多数开源java项目中局部变量没有被声明为final?

    如果我查看 OpenJDK Hibernate 或 Apache 中的 java 源代码 我还没有看到任何声明为 Final 的局部变量 这表明一些最广泛使用的 java 软件库的开发人员 不要相信final关键字可以提高可读性 不相信它会
  • Jetty 提供静态内容所需的最少文件集?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 异步不适用于控制器的抽象超类方法

    我有一个BaseRestControllerRest 控制器扩展的类 它有一个我想异步运行的方法 public abstract class BaseRestController Async someThreadPoolTaskExecut
  • toArray 与预先确定大小的数组

    使用时ar toArray new String ar size 安卓工作室3 2 1警告预先确定大小的数组并建议空数组 有两种方式将集合转换为数组 使用 预先确定大小的数组 如 c toArray new String c size 或使
  • 如何查找类路径中具有指定名称的所有资源?

    我想列出类路径中具有特定名称的所有文件 我预计会发生多次 因此Class getResource String 不管用 基本上 我必须识别类路径中任何位置具有特定名称 例如 xyz properties 的所有文件 然后累积读取其中的元数据
  • Thread.interrupt() 和 Thread.interrupted() 到底是如何工作的? [复制]

    这个问题在这里已经有答案了 从设置线程状态的角度来看 我不清楚这两种方法 Java 文档说 Thread interrupt 设置线程中断状态标志 调用 Thread interrupted 方法给出线程的状态并清除该标志 当这在实际场景中
  • 避免加密和编码的 URL 字符串中的换行符

    我正在尝试实现一个简单的字符串编码器来混淆 URL 字符串的某些部分 以防止它们被用户弄乱 我使用的代码几乎与示例中的相同JCA指南 http docs oracle com javase 6 docs technotes guides s
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 在android中测量不规则多边形的面积

    我正在开发一个应用程序 在其中我在地图上绘制多边形 并且我使用的地图不是谷歌 它的Mapsforge开源离线地图库 我可以通过将地理点转换为像素点来轻松在地图上绘制多边形 但在这里我想发现是不规则的多边形 为此我做了很多尝试 但它让我失败了
  • Cassandra 会话与集群 有什么可分享的?

    考虑 Cassandra 的 Session 和 Cluster 类 Java 驱动程序 我想知道有什么区别 在 Hibernate 中 每次都会创建一个会话并共享会话工厂 从许多来源我了解到 它被认为是创建一个会话并在多个线程之间共享它
  • Java编程编译jar

    我有一个文本文件中的java源代码 必须在源代码中输入一些自定义的硬编码变量 然后将其转换为 jar 这是可行的 但是当我运行 jar 时 找不到 Main 类 当我用 WinRAR 解压 jar 文件时 我似乎找不到错误 当我通过 cmd

随机推荐

  • 寻找指南针 2 度之间最接近的差异 - Javascript

    我基本上是想找出指南针上两个点相距多少度 例如 如果一个人面朝 270 度 而指南针为 280 度 那么这两点之间就有 10 度 如果相对于第一个标题 它在左侧 我还想要一个负数 在右侧则为正数 例如 当 to 标题为 350 和 020
  • 防止选择和复制

    我想在 html 页面中不活动选择和复制文本 当我使用 Javascript 且处于非活动状态时 右键单击用户可以使用 Ctrl V 你不能 甚至不要尝试 不要惹恼你的用户 如果您将其公开发布在网络上 则可以复制 从技术上讲 用户一看到它就
  • 如何使用 Spring AOP 和 SPring boot 进行日志记录

    我使用与本示例教程中相同的 LoggingAspect 类https www javaguides net 2019 05 spring boot spring aop logging example tutorial html 但是当我调
  • 困惑为什么 PyGame 显示黑屏

    因此 在我决定问这个问题之前 我做了一些研究 看看我的问题是什么 并发现了这一点 代码仅在 Pygame 窗口中产生黑屏然而 这并不是那么有帮助 因为我没有遇到与此人相同的问题 我确信我的 PyGame 没有过时或类似的东西 因为我的代码的
  • 添加程序集引用还需要引用基础程序集

    我创建了一个程序集 该程序集有一个子类 该子类派生自另一个程序集中定义的父类 当我添加对子项的引用时 Visual Studio 还要求将引用添加到父项 为什么会这样 如何在不丢失任何功能的情况下防止它 你所描述的情况是部分可能的 您可以消
  • 渐变动画 - 减速和加速

    我正在制作一个动画CAGradientLayer 类似于苹果在 iPhone 主屏幕上使用 滑动解锁 动画的方式 然而我的动画有点不同 它在某些点会减慢和加速 到目前为止 我的代码是一个渐变动画并且可以工作 但是我如何让它在不同的点减慢 加
  • IBM Worklight - 无法使用现有别名注册到事件源回调。该别名已用于事件源

    我正在使用 IBM Worklight 6 0 0 并在 iOS 7 设备上进行测试 我有以下js错误 Cannot register to event source callback with an existing alias myPu
  • [function.fopen]:打开流失败:HTTP 请求失败! HTTP/1.1 401 未经授权

    function fopen 打开流失败 HTTP 请求失败 HTTP 1 1 401 未经授权 我定期收到此错误 即它仅在随机时间发生 任何想法会导致此错误 我已检查我的 php ini 并将allow url fopen 设置为 tru
  • 将 SQL 数据读取器数据加载到 DataTable 时遇到问题

    string query select from cfo daily trans hist try using SqlConnection connection new SqlConnection cnnString SqlCommand
  • c# 如何使用实时图表反转 Y 轴

    我试图简单地反转 Y 轴 以便该图向上而不是向下 从 6 开始 一直到 1 这是关于倒置图的用户文档 https lvcharts net App examples v1 wpf Inverted 20Series 这是我用来构建图表的示例
  • NodeJS 中的空合并赋值运算符 (??=)

    我正在尝试在 NodeJS 中使用 Nullish 合并赋值运算符 这可能吗 const setValue object path value gt const indices first 0 second 1 keys path repl
  • Java - PKCS11 和 MSKeyStore

    我正在尝试使用 MS KeyStore 中的不同证书签署一个字符串 但是 我知道有从 MS Keystore 中的令牌导入的密钥 所以 我的问题是 如果我通过密钥库并尝试使用引用 pkcs11 的证书进行签名 我会弹出一个窗口 要求输入 p
  • 从文本变量读取 rpart 输入参数

    我在用着rpart制作决策树 例如 fit lt rpart Kyphosis Age Number Start data kyphosis 如何从文本文件中读取公式部分并以以下格式获取它rpart喜欢 我试过了 predictor var
  • Protégé 中枚举的数据范围表达式

    我想将数据类型属性的范围定义为字符串的详尽枚举 这样个人只能将枚举中的一个字符串作为该属性的值 例如 名为 颜色 的数据类型属性只能采用 3 个值 红色 绿色 和 蓝色 我正在使用 OWL 2 和 Prot g 5 0 使用 Prot g
  • cf Push 是否尊重 .gitignore 的使用?

    我正在使用 gitignore下面的文件希望当我推送我的应用程序时 tmp 目录和交换文件将被忽略 但这并没有发生 现在我想知道是否cf push甚至考虑 gitignore swp tmp 有谁知道如果cf push需要一个 gitign
  • Google 地图 API 地理编码返回两个不同地点的相同坐标

    我正在尝试获取这些 POI 的坐标 但 Google 地理编码返回错误的坐标 两个地址的坐标相同 在谷歌地图中它们工作得很好 我应该如何为他们构建正确的 URL https maps googleapis com maps api geoc
  • 从 Swift 中的另一个类访问 IBOutlet

    我是 Swift 和 Mac 应用程序的新手 因此 我今天正在编写一个 Mac 应用程序 但经过大量搜索后 我仍然困惑如何从另一个类访问 IBOutlet 我正在使用 StoryBoard 并且有两个 NSTextFieldpath mir
  • ValueError: 形状必须至少为 3 级,但对于 '{{node BiasAdd}} = BiasAdd[T=DT_FLOAT, data_format="NCHW"](add,bias)' 为 2 级,输入形状为:

    Done 我只是想运行并复制以下项目 https machinelearningmastery com time series prediction lstm recurrent neural networks python keras 基
  • 我的虚拟环境可以访问全局包

    I have virtualenv 15 1 0安装 问题是当我创建虚拟环境时 virtualenv venv 然后激活它 它将可以访问全局安装的软件包 django admin例如 尽管在中提到了这种情况 但还是发生了virtualenv
  • avro union的json编码

    我的 avro 模式中有一个 favorite number 的联合 它可以是 null 或 int 当我对对象进行 json 编码时 我得到 name Alyssa favorite number int 7 favorite color