问题标签 [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.

0 投票
3 回答
176 浏览

java - 如何使用 Jsonb 将 JSON 中的数值数组解析为 Java 对象

我喜欢使用 Jsonb 将 JSON 数据映射到 Java 对象是多么容易,但我似乎偶然发现了一个没有充分记录的用例......

鉴于此 json 数据:

什么可以用作存储点值的对象类型?

所以我可以创建临时对象:

到目前为止,我已经尝试了以下方法:

  • List<Point>--> “无法将 JSON 数组反序列化为:class java.awt.Point”
  • List<Point2D>--> “无法将 JSON 数组反序列化为:class java.awt.Point2D”
0 投票
0 回答
39 浏览

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()与最初传递的对象相同。

有没有其他方法可以在不使用Personor的自定义序列化程序的情况下实现这一目标Name

0 投票
0 回答
39 浏览

java - JSON-Binding API - 反序列化多态对象

我需要反序列化一个复杂的多态对象,并且内部也会有其他多态对象。如何使用 JSON-B 实现这一目标?它真的需要在 JSON-B 中......

例子:

车辆(来自抽象类的多态)

它内部包含其他多态对象。

我试图做与此类似的事情:

如果我这样做,它将正确获取 Vehicle 对象,但它会在第二次进入时抛出此问题:

2021 年 26 月 26 日上午 10:13:01 org.eclipse.yasson.internal.Unmarshaller deserializeItem 严重:空

0 投票
0 回答
8 浏览

json - JSON-B“原始 JSON 字符串”序列化程序

我有一个包含 JSON 的字符串字段的 java 类。JSON-B 序列化它会(自然地)导致 JSON 像{\"key\":\"value\"}等一样被转义,但是最干净的方法是什么?当然,如果我将 String 更改为 JsonStructure,一切都会自动运行,但我对纯 String 的情况很感兴趣。

我尝试使用 @JsonbTypeSerializer 注释 String 字段并为其实现自定义序列化程序,但 JsonGenerator 中的所有内容都会自动添加转义我没有找到任何方便的 JsonGenerator 委托器,可以让我将 SerializationContext.serialize 与自定义 JsonGenerator 一起使用(没有实现所有方法)

本质上,我只是在寻找“内容是正确的 JSON,只需将其直接添加到字符串”

有人遇到过这种情况并发现了一些简单的东西吗?

在此先感谢,尼克

0 投票
1 回答
19 浏览

json - Json-B 无法反序列化 JSON

尝试反序列化此 JSON 时, playSequenceDateRanges 列表为空

JSON:

Java类:

我尝试将反序列化器和适配器注释(分别为@JsonbTypeDeserializer 和@JsonbTypeAdapter)添加到 playSequenceDateRanges 以从 JSONArray 创建字符串列表,但没有乐趣;代码甚至没有被调试。

解串器:

适配器

我正在使用 yasson 1.08。