草庐IT

jackson-modules

全部标签

java - 如何使用 Jackson 将列表内容序列化为平面 JSON 对象?

给定以下POJO..publicclassCity{privateStringtitle;privateListpeople;}...publicclassPerson{privateStringname;privateintage;}我想让Jackson将类的实例序列化为以下示例JSON:{"title":"NewYork","personName_1":"JaneDoe","personAge_1":42,"personName_2":"JohnDoe","personAge_2":23}JSON格式由我无法更改的外部API定义。我已经发现我可以使用自定义序列化器来注释列表字段,例

java - 使用 Jackson 将 Java8 LocalDateTime 序列化为 UTC 时间戳

我刚刚根据新的(ish)java8时间包将我的许多日期转换为LocalDateTime。在我开始尝试序列化和反序列化之前,我一直很喜欢这种转换。我如何配置Jackson来支持它们?:LocalDateTime--serialize-->UTC时间戳--deserialize-->LocalDateTime?这里有很多关于转换为格式化字符串的资料,但我似乎找不到针对utc时间戳的现成解决方案。 最佳答案 您可以为LocalDateTime自定义序列化器和反序列化器,例如:CustomLocalDateTimeSerializerimp

java - 如何使用 Jackson 和 Spring 的模块设置对象映射器

从这个答案(https://stackoverflow.com/a/15605404/650784)我正在尝试设置Jackson来处理我的DTO中的Joda日期时间,但我很难理解ObjectMapper代码应该存在的位置。我读过很多关于ObjectMapper的不同文章,但它们似乎都在处理旧版本。我可以利用我已经发现的东西并破解它来工作,但我想看看什么被认为是使用Spring3.2.2/Jackson2/Jersey执行此操作的正确方法。我应该指出,我只想添加joda时间映射模块,我不想对jackson进行任何其他自定义。我是一个新手,如果这是我刚刚错过的一些简单而明显的答案,请原谅我

java - jackson :忽略 setter/getter ,但不是@JsonView

我正在寻找仅在某些情况下序列化transient信息的可能性:@JsonInclude(Include.NON_NULL)@EntitypublicclassUser{publicstaticinterfaceAdminView{}...id,emailandothers...@TransientprivatetransientDetailsdetails;@JsonIgnore//Goal:ignoreallthetime,exceptnextline@JsonView(AdminView.class)//Goal:don'tignoreinAdminViewpublicDetail

java - 用Jackson写yaml?

我正在使用Jackson来读取和修改yaml文件。效果很好。不过,我找不到编写yaml所需的魔法咒语。ObjectMappermapper=newObjectMapper(newYAMLFactory());ObjectNoderoot=(ObjectNode)mapper.readTree(yamlFileIn);//modifyrootheremapper.writeValue(yamlFileOut,root);//writesjson,notyaml.notsurewhy.我确定它是writers、JsonGenerators和其他东西的某种组合。有人有示例代码吗?

java - 使用 Jackson 解析 Java 中的 JSON 子集

给定一个Json,是否可以使用Jackson只解析出消息的一部分?假设我感兴趣的数据隐藏在很深的字段层次结构中,我根本不关心为每个类创建DTO类。给定一个非常简化的场景,我想在不知道任何关于它之前的结构的情况下为Telephone类建模:...{"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naiststreet","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-

java - 当 JsonProperty 有时是数组有时是单个对象时,Jackson 反序列化

我在发布之前搜索了StackOverflow,但没有找到适合Jackson的解决方案。这是服务器响应:{"ok":true,"result":[{"update_id":489881731,//rest},{"update_id":489881732,//rest}]}如您所见,"result"属性是一个数组。现在这是另一个回应:{"ok":true,"result":{"id":211948704,"first_name":"رباتادمین‌هایتلگرام","username":"tgAdminsBot"}}这里"result"是一个单独的对象。这是我的类(class),我

java - --add-modules 的 Java 9 反射等价物是什么?

我需要一种方法来告诉新创建的类加载器(没有设置父类)我想向它公开的模块(例如java.scripting)。在命令行上传递--add-modules的反射等价物是什么? 最佳答案 没有编程方式来实质性地编辑JVM在启动时创建的模块图(添加读取边是唯一的异常(exception))。这是为了保持正在运行的应用程序安全和稳定而做出的慎重决定。(例如,如果您在不包含java.scripting模块的运行时上运行,您的代码会发生什么情况?)不过,您可以做的是创建一个新层,其中包含一个全新的模块图。启动JVM时,它将根据命令行标志和模块路径内

java - Jackson JSON 将整数转换为字符串

我正在使用对象映射器映射到具有字符串变量的对象。这工作得有点太好了,因为即使是来自JSON的整数和boolean值也被转换为字符串。示例:{"my_variable":123}classMyClass{Stringmy_variable;}我希望对象映射器在这种情况下报告错误,而不是将123转换为my_variable的字符串。这可能吗? 最佳答案 目前没有这样的配置,但您可以使用自定义反序列化器覆盖默认反序列化器(请参阅fasterxmlwiki)并使其抛出异常?如果您想要更方便的方式,您可以提交Jira增强请求;例如,可以禁用新

java - module-info.java 'opens' 语句是否可以包含包和所有子包?

我有一个module-info.java文件,看起来像-modulefoo.microservice{requiresspring.core;requiresspring.beans;requiresspring.context;requiresjava.sql;//requiredforSpringAnnotationbasedconfiguration:(opensfoo.microservice.configurationtospring.core;opensfoo.microservice.internal.servicestospring.beans;opensfoo.mic