问题标签 [fasterxml]

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 投票
1 回答
1400 浏览

java - 从 Jackson 2 中的共享 ObjectMapper 构造 ObjectWriter 的特定实例以忽略空字段

我正在与杰克逊 2 和 CXF 合作。

我进行了大量研究,以找到一种干净且安全的方法来从共享对象映射器中获取写入器对象,该映射器提供给 CXF 用于取消/编组 JSON。由于某些业务逻辑,我不能只使用注释或将映射器对象设置为在序列化时忽略空字段。

下面的代码似乎很正确,但是输出的 JSON 仍然包含空字段。请帮忙 !!

if 案例验证我已成功禁用 SerializationFeature.WRITE_NULL_MAP_VALUES。但是,结果仍然是包含空字段。

0 投票
1 回答
454 浏览

json - fastxml jackson:没有必要的方法来使用@JsonView 功能

当我将 java-object 转换为 json-string 时,我尝试组织动态 @JsonIgnore 属性。在示例 中,它适用于 (codehause jackson) ObjectMapper oMapper = new ObjectMapper(); oMapper。设置序列化配置(...

或以更快的xml objectMapper.getSerializationConfig()为例。setSerializationView (

问题:我的杰克逊没有粗体方法:

pom.xml

0 投票
2 回答
3471 浏览

xml-serialization - 将 ArrayList 中的对象序列化为 XML 时丢失类型元素

在使用 Jackson 序列化为 XML 时,我似乎遇到了问题。我的代码如下:

测试容器

测试孩子

采用

  • 序列化:

    XmlMapper xm = new XmlMapper(); TestContainer tc = xm.readValue(sb.toString(), TestContainer.class);

  • 反序列化:

    System.out.println(xm.writeValueAsString(tc)); tc = xm.readValue(sb.toString(), TestContainer.class);

我正在做的是从类路径上的文件夹中加载 XML 文件,并将文件的内容放入 StringBuffer 中。问题是为对象集合生成的 XML。在编写 XML 时,我想要类似的东西:

但我得到:

我不确定我在这里错过了什么。我对序列化/反序列化的 JSON 部分没有问题,只有 XML。我尝试使用 Jackson 和 JAXB 注释来关闭包装,我尝试使用以下注释:

  • @JsonRootName
  • @JsonProperty
  • @JacksonXmlElementWrapper
  • @杰克逊元素
  • @XmlElementWrapper
  • @XmlElement

我很确定这对我来说是愚蠢的,但任何帮助将不胜感激。

0 投票
1 回答
568 浏览

json - 让@jsonignore 在isMethod 上使用setter?

这是我的课

我的代码与 getRoom 和 isRoom 混淆了。

引起:java.lang.IllegalArgumentException:属性“房间”的吸气剂定义冲突:com.shared.model.restimpl.jpa.HouseJPAImpl#getRoom(0 params) vs com.shared.model.restimpl.jpa.HouseJPAImpl#isRoom( 0个参数)

我尝试将@jsonignore 放在 isRoom 方法上,但后来我没有在 JSON 中获得房间属性。

有没有办法在 isRoom 上使用 getRoom?

0 投票
1 回答
4363 浏览

java - 通过fasterxml将XML文件解析为POJO时出现异常“没有为类型[简单类型...找到合适的构造函数”

我需要使用 jackson-dataformat-xml 将一些 XML 文件反序列化为常规 java 对象。所以我在做:

xmlString出现:

和类证书:

在尝试取消实现 XML 后,我得到了异常:
“没有为类型 [简单类型,类 ua.max.Certificate$R] 找到合适的构造函数:无法从 JSON 对象实例化”

我的尝试:
1. 如果我为我的内部类添加修饰符“static”,它正在工作,我得到 java 对象,但除了 2 个对象列表“ATT-SEARCH”之外,我得到的第一个是 null
2. 添加不同的构造函数确实不产生任何影响

0 投票
2 回答
2739 浏览

json - json 文件中的 Camel Case 属性名称未映射到 Java 对象

我有一个 json 对象,其属性名称如下:itemsRequired, sortable_list. 在我的 ObjectMapper 中,我有

随着这sortable_list被映射到 POJO 中的适当属性,但itemsRequired被忽略。而如果我删除PropertyNamingStrategy, 则itemsRequired可以,sortable_list但不能。如果我想让两者一起工作应该怎么做?

我正在使用 fastxml 库。我也尝试过 codehaus 的 jackson,结果相同。


更新:POJO如下,

而 JSON 是,

如果我有上面的 JSON,一切正常。但是当我将 JSON 更改为时,事情不起作用,

itemsRequired 在后一种情况下被忽略。

我希望它在这两种情况下都能工作,无论它被命名为items_required还是itemsRequired.

0 投票
1 回答
3187 浏览

java - Fasterxml Jackson 原始布尔序列化

我正在使用 Fasterxml Jackson 2.2.2

我有一个带有boolean(原始)属性的简单 pojo。当默认BeanSerializerBeanPropertyWritter尝试对其进行序列化时,该属性的值为 时会被跳过false

我想:

我得到的是:

中的代码BeanPropertyWritter是:

我已经调试过它,发现BeanPropertyWritter._suppressableValueequals Boolean(false),所以当一个错误的布尔值到达这个块时,它只是返回并且不返回任何输出。

我有哪些选择?我可以将属性的写入器配置为取消设置_suppressableValue吗?什么是最简单和更简单的解决方案?

0 投票
1 回答
789 浏览

java - 杰克逊不反序列化

我正在努力使用 Jackson fastXml 反序列化。我想有一些关于类型信息和多态使用的东西。在阅读杰克逊文档和这个之后,我尝试了不同的东西,但仍然没有设法得到它。序列化进展顺利,但反序列化生成的字符串并没有成功。

在此先感谢您的帮助

这是课程:

这是堆栈跟踪:

0 投票
1 回答
9667 浏览

java - 使用 com.fasterxml.jackson 解析 yaml

我正在尝试使用杰克逊将 yaml 文件解析为模型

型号——

解析

yaml 文件

例外

0 投票
1 回答
6181 浏览

java - JSON:反序列化子类型

此资源上已经存在相同的问题。但是答案对我来说似乎完全错误,并且对我不起作用。

有什么问题:

com.fasterxml.jackson.databind.JsonMappingException:无法将类型 id 'MyRequest$GetAll' 解析为 [simple type, class Request] 的子类型

我有什么:

我试图做的事情:

我尝试遵循建议,并将子类型注册从注释移动到 java 代码:

但是没有结果,我仍然得到一个异常!在这种情况下最奇怪的是它在我的本地机器上运行良好,但在部署后无法运行。

问题:

我应该尝试什么来解决这个问题?