jjzjj

java - JAX-RS:从具有声明的抽象返回类型的方法返回具体类实例

我有一些使用JAX-RS和Jackson的REST服务。我的客户希望将抽象类作为服务的返回类型,而我不知道如何让JAX-RS客户端返回具体子类的实例。这对XML和JSON表示都可行吗?如果是这样,将感谢示例和/或链接。 最佳答案 可以尝试添加JsonTypeInfo和JsonSubTypes注解@JsonTypeInfo(use=Id.CLASS,include=JsonTypeInfo.As.PROPERTY,property="type")@JsonSubTypes({@Type(value=MySubClass.class)}

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 - 如何在 Dropwizard 项目中使用 Couchbase Java 客户端?

我一直在查看couchbase-java-client项目并想知道是否可以在dropwizard中使用它项目。这似乎是天作之合,因为couchbase基本上是一个JSON数据库,但java客户端似乎与Jackson不兼容。据我所知,couchbase客户端库包括itsowninternalimplementationofaJSONlibrary这与所有其他JavaJSON库都不兼容,这真的很奇怪。我找到了一个JacksonTransformers一开始看起来很有前途的类(class)。但经过仔细检查,该库使用的是Jackson的阴影版本(带有重写的com.couchbase.clien

java - Spring MVC 忽略给定 Controller 方法的 Json 属性

我有一个Java类(MyResponse),它由多个RestController方法返回并且有很多字段。@RequestMapping(value="offering",method=RequestMethod.POST)publicResponseEntitypostOffering(...){}@RequestMapping(value="someOtherMethod",method=RequestMethod.POST)publicResponseEntitysomeOtherMethod(...){}我只想忽略(例如,不序列化它)一种方法的其中一个属性。我不想忽略该类的空字段

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

java - 具有嵌套类型信息属性的 Jackson 多态反序列化

我受到给定JSON结构的限制:{"metadata":{"eventName":"FooEvent","field1":"bla"},"event":{...}}如何使用多态反序列化和嵌套类型信息属性对其进行反序列化?我在@JsonTypeInfo中使用metadata.eventName嵌套属性,如下所示:@JsonTypeInfo(use=Id.NAME,include=As.EXISTING_PROPERTY,visible=true,property="metadata.eventName")@JsonSubTypes({@Type(name="fooEvent",value=

java - 在顶级 map 上使用@JacksonInject 和@JsonCreator

使用Jacksonjson库,可以通过使用@JsonCreator反序列化对象,并给出表示输入json的“顶级”映射,如下所示:classMyClass{finalintfield;@JsonCreatorpublicMyClass(Mapmap){this.field=(int)map.get("theInt");}}甚至在静态工厂方法上:classMyClass{finalintfield;publicMyClass(inttheInt){this.field=theInt;}@JsonCreatorstaticMyClasscreate(Mapmap){returnnewMyCl

java - jackson :数组中缺少@JsonTypeInfo

我发现JacksonJSONProcessor库有一些奇怪的行为,我很好奇这是故意的还是错误。请看下面的代码:@JsonTypeInfo(use=Id.NAME)publicclassNut{}…ObjectMappermapper=newObjectMapper();Nutnut=newNut();Objectobject=newNut();Nut[]nuts=newNut[]{newNut()};Object[]objects=newObject[]{newNut()};System.out.println(mapper.writeValueAsString(nut));Syste

java - 使用 Scala 和 Jackson 以及 java.lang.Integer 或 scala.Int 对泛型类型进行奇怪的反序列化问题

我们都知道泛型类型在Java和Scala下会被类型删除。但是我们在使用Jackson和ScalaJackson模块的Scala中遇到了一个奇怪的问题。我创建了一个小测试来展示这个问题。importcom.fasterxml.jackson.databind.ObjectMapperimportcom.fasterxml.jackson.module.scala.DefaultScalaModuleobjectGenericTest{caseclassTestWithInt(id:Option[Int])caseclassTestWithInteger(id:Option[Integer

java - 使用 Jackson 创建像 JSON.org 这样的简单对象

我想使用Jackson创建简单的JSON对象,我不需要为每个响应构建自定义类,而是一个类似于下面代码的预制对象。其他JSON库(android、JSON.org、GSON)你可以做类似的事情JsonObjectmyObject=newJsonObject("{\"a\":1}");myObject.getInt("a");//returns1我似乎无法在Jackson包中找到类似的操作。PS:我知道我可以创建一个java类来封装这个特定的JSON字符串,但我正在寻找的是一种创建通用JSON对象的方法,我不需要将其解析为我定义的类.我似乎无法在互联网上找到任何指向与此类似的东西的东西。我