草庐IT

Jackson-databind

全部标签

java - 如何使用 Jackson 的@JsonIdentityInfo 进行有向图的反序列化?

我想使用Jackson2.3.3进行有向图的反序列化/序列化。我想出的结构大致如下:publicClassGraph{privatefinalSetnodes;publicGraph(Setnodes){...}publicSetgetNodes(){...}}@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property="name")publicClassNode{privatefinalStringname;privatefinalSetedges;publicNode(Stringn

java - 使用 Jackson 递归构建 JSON 字符串到 jsTree

我一直在尝试使用Jackson库(v.1.7.4,这是我唯一可以用于此项目的库)在Java中构建一个jsTree接受的格式的JSON字符串(https://www.jstree.com/docs/json/).我只关心“文本”和“子项”属性。问题是,我没有得到一个可行的递归方法来这样做。如果我有一个像这样的简单树:Treetree=newTree();NoderootNode=newNode("root");NodenodeA=newNode("A");NodenodeB=newNode("B");NodenodeC=newNode("C");NodenodeD=newNode("D"

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

我有一个简单的POJO:publicclassADate{privateIntegerday;privateIntegermonth;privateIntegeryear;...//getters/setters/constructor}以下JSON文档被正确反序列化为ADate:{"day":"10","month":"2","year":"1972"}Jackson自动将字符串转换为整数。如果Integer值定义为String,是否有办法避免这种自动转换并让Jackson失败。 最佳答案 ObjectMapper上有一个名为Ma

java - Jackson JSON 没有正确序列化 Joda DateTime

我在Order类中有一个JodaDateTime:publicclassOrder{privateDateTimecreationTime;...}我已经按如下方式初始化了我的映射器:mapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS,false);当我序列化这个类时,我希望看到creationTime以ISO-8601格式序列化如下{"creationTime":"2011-01-01T09:00:00.000-04:00"}这在我的单元测试中运行良好。但是,在我的Web应用程序中,完全相同的代

java - 使用 Jackson 序列化根原始对象

我面临以下问题。当Jackson序列化器传递一个包装原语进行序列化时,这个原语将按原样序列化,例如:objectMapper=newObjectMapper();StringWriterw=newStringWriter();objectMapper.writeValue(w,Integer.valueOf(10));System.out.println(w.toString());产生10作为输出。但是10不是有效的JSON(根据jsonlint),应该用方括号括起来([10],所以它将是一个单元素数组)或大括号({value:10},因此它将是一个具有虚拟属性的对象)。该问题影响数

java - 如何防止 Jackson 输出 pretty-print JSON?

我想确保Jackson生成的JSON文件绝不会打印得很漂亮。我是一名从事现有项目的初级人员,因此我需要向后工作以找出可以将JSON配置为输出为pretty-print的所有方式。我可以确认在项目中有0个对.defaultPrettyPrintingWriter()的引用,以及对.setSerializationConfig的0个引用,我相信它也可以用于启用pretty-print。那么这还有什么可能呢?或者,是否有一种万无一失的方法来确保JSON文件打印不漂亮? 最佳答案 根据您使用的Spring版本,MappingJacksonH

java - Json 使用 Jackson 库序列化 JDK 动态代理

我正在尝试使用Jackson库序列化Java动态代理,但出现此错误:publicinterfaceIPlanet{StringgetName();}PlanetimplementsIPlanet{privateStringname;publicStringgetName(){returnname;}publicStringsetName(StringiName){name=iName;}}IPlanetip=ObjectsUtil.getProxy(IPlanet.class,p);ObjectMappermapper=newObjectMapper();mapper.writeVal

java - 如何使用 JACKSON 进行自定义序列化/反序列化?

我正在尝试将以下gson序列化转换为JACKSON序列化。请让我知道我需要更改什么才能使其适用于JACKSONpublicclassAbstractElementAdapterimplementsJsonSerializer,JsonDeserializer{@OverridepublicJsonElementserialize(AbstractElementsrc,TypetypeOfSrc,JsonSerializationContextcontext){JsonObjectresult=newJsonObject();JsonObjectproperties=context.se

java - 如何告诉 jackson 将 "null"字符串反序列化为空文字?

我有一个web服务,它将“null”打印为任何属性的字符串,而不是null文字。它对几乎所有数据类型(字符串或日期)都这样做。例如,在理想情况下它返回{"item":{"title":"Sometitle","expires":"2014-11-0200:00:00"}}但有时它返回:{"item":{"title":"null","expires":"2014-11-0200:00:00"}}这使得title属性值为“null”而不是将其设置为null。或者有时这样:{"item":{"title":"Sometitle","expires":"null"}}这使得反序列化失败,因为

java - Jackson:获取反序列化的空引用

我将spring-mvc用于restful服务。通过添加依赖项,我的其余Controller自动从我的响应实体生成json。依赖性jackson='2.9.0'compile"com.fasterxml.jackson.core:jackson-databind:$jackson"对象@Getter@SetterpublicfinalclassUserDTO{[...]privateintid;privateSetactivities=Sets.newHashSet();}@Getter@SetterpublicfinalclassActivityDTO{[...]privateint