问题标签 [jackson]

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 回答
32182 浏览

java - 使用 Jackson ObjectMapper 将子类名称序列化为 JSON,而不是超类

在以下将对象序列化为 JSON 的 Jackson/Java 代码中,我得到了这个:

但是,我真正想要得到的是:

我可以对 AnimalContainer 做些什么,以便获得对象的运行时类型(“狗”、“猫”),而不是“动物”)? 编辑: 我知道地图名称来自 getter- 和 setter- 方法名称。)我能想到的唯一方法是在 AnimalContainer 中拥有每种动物的属性,具有 setter 和 getter所有这些,并强制一次只评估一个。但这违背了拥有 Animal 超类的目的,而且似乎是错误的。在我的真实代码中,我实际上有十几个子类,而不仅仅是“狗”和“猫”。有没有更好的方法来做到这一点(也许以某种方式使用注释)?我也需要一个反序列化的解决方案。

0 投票
12 回答
432223 浏览

java - 将 JSON 数据转换为 Java 对象

我希望能够从我的 Java 操作方法中的 JSON 字符串访问属性。只需说 即可获得该字符串myJsonString = object.getJson()。下面是字符串的外观示例:

在这个字符串中,每个 JSON 对象都包含一个其他 JSON 对象的数组。目的是提取 ID 列表,其中任何给定对象拥有包含其他 JSON 对象的组属性。我将 Google 的 Gson 视为一个潜在的 JSON 插件。任何人都可以就如何从这个 JSON 字符串生成 Java 提供某种形式的指导吗?

0 投票
2 回答
26428 浏览

java - 如何从泽西岛资源生成 JSON?

我正在使用 Jersey 并希望输出以下 JSON,其中仅列出了以下字段:

如果必须,我可以用 {"feeds": ... } 包围该 JSON,但最好将其设为可选。我想从存储在通过 Hibernate 检索的 Member POJO 中的 CalendarFeeds 列表中提取此信息。以下是简化的 POJO:

目前,我有一个名为 CalendarResource 的 Jersey 资源,它手动输出带有日历提要信息的 JSON:

但我不确定如何实现自动化。我刚开始使用 Jersey,不清楚如何使用它返回 JSON。听起来它有一种内置的方法,但看起来我需要向我的 POJO 添加注释。另外,我读到其他人说我需要使用杰克逊。我一直在谷歌搜索,似乎找不到从泽西岛资源返回 JSON 的好而简单的示例。有人知道吗?或者您能告诉我如何使用 Jackson 或 Jersey 为上述示例创建 JSON 吗?

0 投票
8 回答
68904 浏览

java - Spring 3.0 使用杰克逊消息转换器做出 JSON 响应

我将我的消息转换器配置为杰克逊的然后

并在控制器中

我希望从服务器返回一个 JSON 字符串 {x:'3',y:'4'} 而无需任何其他配置。但是对我的 ajax 请求得到 404 错误响应

如果该方法使用 @ResponseBody 注释,则返回类型将写入响应 HTTP 正文。返回值将使用 HttpMessageConverters 转换为声明的方法参数类型。

我错了吗 ?或者我应该使用序列化程序自己将我的响应对象转换为 Json 字符串,然后将该字符串作为响应返回。(我可以正确地做出字符串响应)还是应该进行一些其他配置?就像为 Foo 类添加注释

这是我的 conf.xml

0 投票
5 回答
186075 浏览

java - 杰克逊VS。格森

在搜索了一些现有的 JSON 库后,我最终得到了这两个:

  • 杰克逊
  • 谷歌GSon

我对 GSON 有点偏,但网上的消息是 GSON 存在某种天体性能问题(截至 2009 年 9 月)。

我继续比较;与此同时,我正在寻求帮助来下定决心。

0 投票
11 回答
84376 浏览

java - 使用类名作为 JSON Jackson 序列化的根键

假设我有一个 pojo:

当我使用 Jackson ObjectMapper 进行序列化时,我得到了

但我想要

我到处搜索,杰克逊的文档真的很杂乱无章,而且大多已经过时了。

0 投票
3 回答
8116 浏览

android - JSON:Jackson 流解析器——真的值得吗?

我正在编写的应用程序中大量使用 JSON 解析。我所做的大部分工作已经使用 Android 内置的 JSONObject 库(是 json-lib 吗?)实现。

JSONObject 似乎创建了 JSON 字符串中绝对所有内容的实例......即使我最终没有使用所有这些实例。

我的应用程序目前运行良好,即使在 G1 上也是如此。

我的问题是:使用像 Jackson 这样的流解析器所带来的速度和内存优势值得所有麻烦吗?

麻烦,我的意思是:据我所知,使用 Jackson 而不是内置库有三个缺点:

  1. 对外部库的依赖。这最终使您的 .apk 更大。没什么大不了的。
  2. 您的应用程序更脆弱。由于解析不是自动完成的,因此它更容易受到它正在解析的 JSON 文本的更改的影响(也许我错了)。
  3. 通过流解析器编写代码来解析 JSON 既丑陋又乏味。
0 投票
6 回答
29598 浏览

jersey - 使用 Jackson 作为 Jersey 客户端序列化程序

使用 Jersey 客户端 API 时,是否可以使用 Jackson 作为 JSON 数据的序列化器/编组器而不是 JAXB?

如果有怎么配置呢?

0 投票
5 回答
15378 浏览

android - 替换标准 Android JSON 解析器以获得更好的性能?

我知道 Android 有一个 JSON 解析器,但我想知道是否值得使用提供更好性能的东西(如 Jackson - 请参阅http://jackson.codehaus.org/)?有人试过吗?

0 投票
4 回答
13052 浏览

java - 可以配置 Jackson-Json Mapper 以根据它正在序列化的对象排除属性吗?

假设我有一个对象,例如具有地址对象列表的业务,以及具有业务的订单。

是否可以进行配置,以便在序列化订单时从业务对象中排除地址列表,而在序列化业务时包含列表?

我正在使用 ajax 为 RIA 提取数据,并且在使用 Order 时我并不真正关心地址数据,但在处理 Business 时我确实想要列表。

我还在使用 Hibernate 进行持久性,所以这确实是一种效率和性能优化。