jackson相关内容

防止在 Jackson 中自动将字符串转换为整数

我有一个简单的 POJO: 公共类 ADate {私人整数日;私人整数月份;私人整数年;...//getter/setter/构造函数} 以下 JSON 文档正确反序列化为 ADate: {"天":"10","月":"2","年份":"1972"} Jackson 自动将字符串转换为整数. 如果整数值定义为字符串,有没有办法避免这种自动转换并让杰克逊失败. 解决方案 Obje ..
发布时间:2022-01-07 08:06:58 Java开发

Jackson,使用私有字段和 arg-constructor 反序列化类,没有注释

是否可以使用 Jackson 反序列化为具有私有字段和自定义参数构造函数的类,而无需使用注释和修改类? 我知道在 Jackson 中使用这种组合是可能的:1) Java 8, 2) 使用“-parameters"编译;选项,以及 3) 参数名称匹配 JSON.但默认情况下,在 GSON 中也可以没有所有这些限制. 例如: public class Person {私人最终字符串名字; ..
发布时间:2022-01-07 08:06:18 Java开发

具有对象类型的 Jackson JSON 列表

我必须从对象列表中序列化 JSON.生成的 JSON 必须如下所示: {"状态": "成功",“楷模": [{“模型": {“身份证":23,“红色"}},{“模型": {“身份证":24,“颜色":“绿色"}}]} 当我简单地序列化它时,我缺少类型/键“模型": Listlist = new ArrayList();//添加一些新模型(...)Response r = new Respon ..
发布时间:2022-01-07 08:06:11 Java开发

Jackson SerializationFeature.WRITE_DATES_AS_TIMESTAMPS 在春季不关闭时间戳

经过大量搜索,我找到了在@RestController 中转换为 JSON 响应时如何阻止 java.util.Date 字段被序列化为时间戳的方法. 但是我无法让它工作.我发现的所有帖子都说禁用了 Jackson 对象映射器的 SerializationFeature.WRITE_DATES_AS_TIMESTAMPS 功能.于是我写了下面的代码: 公共类MVCConfig {@自动连线 ..
发布时间:2022-01-07 08:05:58 其他开发

使用 Jackson 库自定义漂亮的打印机

我在 Map 对象中有数据,我想以 json 格式打印它.我尝试使用 DefaultPrettyPrinter mapper.writerWithDefaultPrettyPrinter().writeValue(filePath, mapObject); 但格式不是我所期望的.我得到这样的输出: {"arrVals" : ["value-1","value-2"]} 我想要这样的输出: ..
发布时间:2022-01-07 08:05:41 Java开发

如何防止 Jackson 序列化多态类型的注释属性?

我有多态类型和从 JSON 反序列化到 POJO 的工作.事实上,我遵循了这里的文档.将 POJO 序列化为 JSON 时,我得到了一个不需要的属性,特别是逻辑类型名称. import static org.codehaus.jackson.annotate.JsonTypeInfo.*;@JsonTypeInfo(use=Id.NAME, include=As.PROPERTY, proper ..
发布时间:2022-01-07 08:05:22 Java开发

Jackson:如何仅序列化带注释的属性

我想在使用 Jackson 时定义我的自定义序列化策略(要包含哪些字段).我知道,我可以使用视图/过滤器来做到这一点,但它引入了非常糟糕的事情 - 使用字段名称的字符串表示,这会自动导致自动重构问题. 如何强制 Jackson 仅序列化带注释的属性,仅此而已? 解决方案 如果您禁用所有自动检测,它应该只序列化您已注释的属性——无论是属性本身还是 getter.这是一个简单的例子: ..
发布时间:2022-01-07 08:05:16 Java开发

如何在 Spring Boot Jackson 日期序列化中应用默认时区

我已将 Spring Boot 应用程序配置为将日期序列化为 ISO8601 字符串: 弹簧:杰克逊:序列化:写日期作为时间戳:false 这是我得到的: "someDate": "2017-09-11T07:53:27.000+0000" 但是我的时区是欧洲/马德里.事实上,如果我打印 TimeZone.getDefault() 这就是我得到的. 如何让 Jackson 使用实际时 ..
发布时间:2022-01-07 08:05:02 其他开发

配置 Jackson 在缺少字段时抛出异常

我有一堂这样的课: public class Person {私人字符串名称;公共字符串getName(){返回名称;}} 我正在使用这样配置的 ObjectMapper: ObjectMapper mapper = new ObjectMapper();mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, f ..
发布时间:2022-01-07 08:04:55 其他开发

杰克逊注释在 Spring 中被忽略

我试图隐藏域类中的属性,但它一直出现在输出的 JSON 中.我正在使用 Jackson 2.0 和 Spring 3.1.1 /users/1 的输出: {"id":1,"password":null,"email":"someone@somewhere.com","firstName":"John","lastName":"Smith"} 我的域类: @Entity公共类用户{私人字 ..
发布时间:2022-01-07 08:04:46 其他开发

Jackson 反序列化对象或数组

我有一个杰克逊问题. 有没有办法反序列化一个可能有两种类型的属性,对于某些对象,它看起来像这样 "someObj" : { "obj1" : 5, etc....} 然后对于其他人它显示为一个空数组,即 "someObj" : [] 感谢任何帮助! 谢谢! 解决方案 Jackson 目前没有内置配置来自动处理这种特殊情况,因此需要自定义反序列化处理. 以下是此类自 ..
发布时间:2022-01-07 08:04:30 Java开发