问题标签 [yasson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使用 Jsonb 将 JSON 中的数值数组解析为 Java 对象
我喜欢使用 Jsonb 将 JSON 数据映射到 Java 对象是多么容易,但我似乎偶然发现了一个没有充分记录的用例......
鉴于此 json 数据:
什么可以用作存储点值的对象类型?
所以我可以创建临时对象:
到目前为止,我已经尝试了以下方法:
List<Point>
--> “无法将 JSON 数组反序列化为:class java.awt.Point”List<Point2D>
--> “无法将 JSON 数组反序列化为:class java.awt.Point2D”
jsonb - 相当于Jsonb 中Jackson 的@JsonUnwrapped
我试图@JsonUnwrapped
在 Jsonb(使用 Yasson)中实现相当于 Jacksons 的功能:
但这引发了一个异常javax.json.bind.JsonbException: Recursive reference has been found in class class Person$Name
,因为我的UnwrappedJsonbSerializer
调用SerializationContext.serialize()
与最初传递的对象相同。
有没有其他方法可以在不使用Person
or的自定义序列化程序的情况下实现这一目标Name
?
java - JSON-Binding API - 反序列化多态对象
我需要反序列化一个复杂的多态对象,并且内部也会有其他多态对象。如何使用 JSON-B 实现这一目标?它真的需要在 JSON-B 中......
例子:
车辆(来自抽象类的多态)
它内部包含其他多态对象。
我试图做与此类似的事情:
如果我这样做,它将正确获取 Vehicle 对象,但它会在第二次进入时抛出此问题:
2021 年 26 月 26 日上午 10:13:01 org.eclipse.yasson.internal.Unmarshaller deserializeItem 严重:空
json - JSON-B“原始 JSON 字符串”序列化程序
我有一个包含 JSON 的字符串字段的 java 类。JSON-B 序列化它会(自然地)导致 JSON 像{\"key\":\"value\"}
等一样被转义,但是最干净的方法是什么?当然,如果我将 String 更改为 JsonStructure,一切都会自动运行,但我对纯 String 的情况很感兴趣。
我尝试使用 @JsonbTypeSerializer 注释 String 字段并为其实现自定义序列化程序,但 JsonGenerator 中的所有内容都会自动添加转义我没有找到任何方便的 JsonGenerator 委托器,可以让我将 SerializationContext.serialize 与自定义 JsonGenerator 一起使用(没有实现所有方法)
本质上,我只是在寻找“内容是正确的 JSON,只需将其直接添加到字符串”
有人遇到过这种情况并发现了一些简单的东西吗?
在此先感谢,尼克
json - Json-B 无法反序列化 JSON
尝试反序列化此 JSON 时, playSequenceDateRanges 列表为空
JSON:
Java类:
我尝试将反序列化器和适配器注释(分别为@JsonbTypeDeserializer 和@JsonbTypeAdapter)添加到 playSequenceDateRanges 以从 JSONArray 创建字符串列表,但没有乐趣;代码甚至没有被调试。
解串器:
适配器
我正在使用 yasson 1.08。