jjzjj

java - 使用 Jackson 反序列化 JSON 时的隐式默认值

在反序列化各种JSON消息时,我想为某种类型的属性提供一个默认值。是generallysuggested只需在类中指定值,但如果您必须跨多个类执行此操作,这很容易出错。你可能会忘记一个并最终得到null而不是默认值。我的意图是设置所有属于Optional的属性。至Optional.absent.自null到底是什么Optional试图消除,事实证明将它们与jackson一起使用是令人沮丧的。Jackson的大多数允许您自定义反序列化过程的功能都集中在作为输入的JSON上,而不是围绕实例化您要反序列化的对象的过程。我似乎最接近通用解决方案的方法是构建我自己的ValueInstantiat

java - jackson 错误 : No such method com. fasterxml.jackson.core.JsonGenerator.setCurrentValue(Ljava/lang/Object;)V

我正在开发一个Spring-MVC应用程序,从早上开始,当我调用一个特定的Controller方法时,我收到了与Jackson相关的错误。由于没有具体指出错误所在的行,因此我查找并发现这是一个POM问题。我从周五开始才添加了Google和Dropbox依赖项,这个问题似乎正在发生。我已经尝试排除Jackson-mapper,但不走运。错误日志:SEVERE:Servlet.service()forservlet[appServlet]incontextwithpath[]threwexception[Handlerprocessingfailed;nestedexceptionisja

java - jackson 日期格式问题 : java bean to JSON string conversion

我正在使用Jackson2.7.4版本将javabean转换为JSON字符串。这样做时,我面临日期格式问题。正在使用Java1.7版本。bean类:publicclassBaseBean{privatejava.util.DatefromDate;publicDategetFromDate(){returnfromDate;}publicvoidsetFromDate(DatefromDate){this.fromDate=fromDate;}}我低于日期格式{"fromDate":1465370289436}这不是我要求的。然后我配置下面的代码ObjectMapperobjectMa

java - JSON 解析错误 : Already had POJO for id

我已经看到了一些关于这个主题的问题,但我无法将其应用到我的案例中,因为我尝试应用它们,但错误仍然存​​在。所以我来揭露我的情况。我读了一些关于它的评论,并说如果我在Entidade类中更改我的列idEntidade的名称,我就可以成功。但是我不能改变数据库。我试图将scope=Distritos.class放入我的@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property="idDistrito")但它不起作用.我需要帮助。我正在尝试使用带有Angular的springMVC将数据保存在

java - 如何使用 Jackson 反序列化以下 json

我有以下json:{"id":"myid","fields":{"body":"textbody"}}我想将其反序列化为以下Java类:classTestItem{privateStringid;privateStringbody;publicStringgetId(){returnid;}publicvoidsetId(Stringid){this.id=id;}publicStringgetBody(){returnbody;}publicvoidsetBody(Stringbody){this.body=body;}使用JacksonJson反序列化器。这不起作用,因为body字

java - 在 clojure 中同时支持 xml 和 json REST 响应

假设我在Java中有一个RESTAPI,它支持JSON或XML的响应。响应包含相同的数据,但形式不同。例如,在json中我可能有:{"persons":[{"name":"Bob","age":24,"hometown":"NewYork"}]}而在XML中它看起来像这样:NewYork也就是说有的值是person上的属性,有的是子元素。在Java中,使用JAXB和Jackson,可以很容易地通过模型对象上的注释来隐藏这种差异,例如:publicclassPerson{@XmlAttributeStringname;@XmlAttributeIntegerage;@XmlElement

java - Jackson 使用解包根解析 json,但无法设置 @JsonRootName

其余服务响应1243654INVOICE或在JSON中:{"transaction":{"trxNumber":1243654,"type":"INVOICE"}}我用的时候没有问题:mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE,true)作为结果类@JsonRootName("transaction")publicclassTransaction{privateStringtrxNumber;privateStringtype;//gettersandsetters}但实际上我应该使用第3方jar中的事务类,它与上

java - 将 JSON 名称映射到 Java 类字段/方法(Jackson Parser)

总结如何将JSON名称映射到Java类的字段名称,这在使用Jackson解析器时可能(略有)不同?详情我有传入的JSON文档,我想使用Jacksonparser将其转换为Java对象.这适用于JSON名称与最终Java对象字段名称匹配的情况(我在PlayFramework中这样做)。然而,传入的JSON文档中的某些JSON名称不适合作为漂亮的Java字段名称。更改所有现有的JSON文档以使用正确的Java命名约定目前是不可行的。例如{"goodName":"value","not-so-handy":"value"}我无法创建字段名称为“not-so-handy”的Java类,因为这在

java - 具有 null 返回值的 Spring Ajax @ResponseBody

我有大约五十个使用@ResponseBody注释的Controller。像这样:@RequestMapping(value="/someUrl.controller",method=RequestMethod.GET)public@ResponseBodyObjectgetObject(@RequestParam("id")Longid){Objectobject=provider.getObject(id);returnobject;}有时getObject方法返回null。问题是在客户端,我得到的是emptyresponse而不是null。在最初的实现中,我们有自定义的JsonVi

java - JsonMappingException : No suitable constructor found for type -- for an external object

我有一个来自spring框架的名为GeoJsonPoint的对象,在我的集成测试中它无法被jacksonmapper反序列化。此外,我无法添加虚拟构造函数,因为它是一个外部对象。所以我被卡住了。这是我的主要实体;@Document(collection="foodTrucks")@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)publicclassFoodTruckEntity{@IdprivateObjectIdid;privateStringapplicant;privateStatusstatus;privateS