问题标签 [jackson2]

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 投票
0 回答
291 浏览

xml - 野蝇杰克逊 2

我的项目配置我的 Jboss-Deployment-Structure.xml

我的 module.xml

我的 pom.xml

所有范围 - 提供

在 Wildfly10 上部署时出现错误

错误在哪里?

我能够在范围 - 编译时运行,但我想使用范围 - 编译

0 投票
1 回答
747 浏览

glassfish - JAX-RS:在 payara micro 上序列化 POJO 失败

在将我们的应用程序战争从 Glassfish3 转移到使用 Payara Micro 的部署之后,JAX-RS 序列化(jersey + jackson)不再起作用。

感谢Adam,我们解决了序列化纯集合的问题,我们现在在返回 POJO 时遇到类似的错误:

其中 BirdyTO 是一个 POJO,其中包含其他 POJOS 和/或 POJOS 集合。

那给我们一个错误:

奇怪的是,同一应用程序中的类似接口工作正常。

任何的想法?

0 投票
4 回答
527 浏览

android - 使用jackson或Gson解析Json

jackson如何使用or将相同的 json 对象键解析为 2 个不同的模型类Gson

这是输入json

这些是模型类

0 投票
2 回答
1365 浏览

java - 如何根据条件应用弹簧消息转换器?

我有一个控制器,它的响应是 camelCase json 值。现在我们正在用新版本重新编写代码,所需的响应是在snake_case中。

我添加了一个消息转换器并修改了对象映射器来设置setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);

我已经用 spring 注册了这个转换器,它按预期工作。现在我希望我的旧端点以 camelCase 的形式返回,以便为我的消费者和新端点与蛇案例的向后兼容性。

我试图在没有将 camelCase 设置为 Snake case 属性并使用 spring 注册的情况下使用简单的对象映射器再添加一个消息转换器。根据 spring 配置中声明的顺序,仅应用一个消息转换器。

我们有什么办法可以做到这一点?根据条件加载消息转换器?

编辑

添加了我的弹簧配置文件

编辑 2.0

我的 servlet.xml

自定义消息转换器

自定义对象映射器

自定义属性命名策略

0 投票
1 回答
2721 浏览

java - 在杰克逊 2 注释中反序列化时如何在 JSON 中省略包装器对象

我有一个简单的 jax-rs 休息

我们要绑定到 POJO 用户

将 JSON 与对象用户一起使用

我正在寻找一种方法来解决尽可能少的干扰以避免以下错误。我正在寻找面向注释的解决方案

0 投票
2 回答
226 浏览

java - Jackson/Gson 可以给我所有已知的可反序列化字段名称吗?

如果我有 POJO:

或与 Gson 注释相同:

有没有办法使用 Jackson/Gson 来获取它知道如何反序列itemName化的所有字段名称(number在这种情况下)?

0 投票
1 回答
5838 浏览

java - 在 Spring JMS 消息中配置 JSON 输出

我想要什么

在 Spring Boot 1.5.2 项目中,我通过JmsTemplate#convertAndSend将 JSON 消息发送到一些 JMS (ActiveMQ) 队列/主题。我将 Java 8 与一些 和 的实例一起LocalDate使用LocalDateTime。我想稍微改变一下 JSON 输出:

  • 漂亮地打印 JSON;和
  • 以 ISO 格式呈现日期/时间戳。

默认情况下,JSON 在一行中结束,日期/时间戳被转换为字段格式,例如:

我试过的

我已添加jackson-datatype-jsr310到项目依赖项中,并且还设置了

application.properties. 行为没有变化。

然后我尝试修改消息转换器的初始化以包含以下设置:

但是行为仍然没有改变。

如何如上所述自定义 JSON 输出?

0 投票
1 回答
2031 浏览

spring-mvc - Spring MVC:使用 Jackson objectMapper 将查询参数反序列化为 POJO

Spring Web 应用程序配置包含ObjectMapper这样配置的 Jackson

JavaTimeModule添加以处理ZonedDateTime. 有两个端点处理包含ZonedDateTime. POJO是这样的:

带有端点的控制器是:

当我发送带有正文的 POST /pojo

响应为 200,反序列化成功。

相反,当我发送

收到错误的 400 Bad Request

这是有道理的,因为在 GET 请求中,我没有发送 JSON,因此没有调用 JSON 对象映射器。

有没有办法objectMapper也用于 GET 请求,所以查询参数被转换为 POJO 对象?

顺便说一句,我知道它可以像下面的 GET 端点反序列化,但我想对 GET 和 POST 端点使用相同的转换器

0 投票
3 回答
2732 浏览

java - 将 Json 反序列化为 POJO

我正在尝试将以下 JSON 结构(较大 JSON 对象的一部分)转换为 POJO,但将异常复制到下面(使用 Java/Jackson)。

JSON

Java 类

&

例外:

测试类具有 OutputKeys 作为属性。
欢迎大家提出意见。我也尝试过使用 OutputKeys 列表。

更新:

我尝试了以下方法但没有成功:

&

0 投票
1 回答
3411 浏览

java - 杰克逊忽略列表属性中对象的属性

可以忽略使用@JsonIgnoreProperties作为类级别注释的类的属性。但是,假设您有以下两个类;

我以为这会奏效。但显然 TheJsonIgnoreProperties在列表中不起作用。我想它会检查java.util.List属性òwner`,但没有找到。

我想要的是一个基于首先检索哪个对象的过滤器。如果Vehicle首先检索到,则显示所有者但不显示该vehicles客户拥有的。如果Client首先检索 ,则显示vehicles但不显示每个Vehicle的所有者。这也避免了无休止的递归。

我的问题是如何忽略列表中owner的对象中的属性?VehiclevehiclesClient

编辑

使用@Kushan 回答。

}

这将始终忽略owner信息。我打算得到的是,如果我有Client对象并且我得到它vehicles,我不需要结果owner信息,Vehicle因为我已经有了Client对象。但如果我有一个Vehicle对象开始,我将需要它的owner属性,不包括所有vehiclesClient