- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经搜索了一段时间但没有找到任何答案,所以要么我遗漏了一些明显没有人写过的东西,要么我遇到了一个不寻常的问题。我希望这是第一个...
我正在使用第三方库 ( IDMLlib ) 从以 .idml 格式存储的 Adobe InDesign 文档中提取信息。内容很容易读取并存储在“Idml”类型的对象中,其中包含我需要的一切。现在,我想使用 Jackson JSON 将此对象发送到 Web 客户端(浏览器) .
我遇到了 2 个问题:
1) 对象树充满了循环引用。我已经通过使用带有注释的 Mix-ins 来解决这个问题
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")
所以如果问题 2 需要的话,现在我已经准备好了很多 Mix-ins。
2) 我在序列化时不断收到新的特定于对象的错误。
--Output from testMethodsReturnsSomething--
| Failure: testMethods(package.IdmlServiceTests)
| com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: de.fhcon.idmllib.api.elements.Idml["document"]->de.fhcon.idmllib.api.elements.Document["tags"]->de.fhcon.idmllib.api.elements.tags.Tags["xmltagList"]->java.util.ArrayList[0]->de.fhcon.idmllib.api.elements.tags.XMLTag["tagColor"]->de.fhcon.idmllib.api.elements.typedefs.InDesignUIColorType["greenValue"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:218)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:183)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:155)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:533)
...
我已经尝试编写自定义 NullValue/NullKey 序列化程序,但这对 NullPointerException 没有帮助。
我可以在我的混合插件中使用注释来处理这个问题吗?
或者还有其他方法可以序列化这个对象吗?
最佳答案
你是对的,Double
可以处理 null 值,而 double
不能。在我的例子中,我的属性是 Long
类型,但 getter 返回的是 long
值而不是 Long
值。只要值不是null,这是可以接受的。但是当值为 null 时,jackson 无法序列化 long
的 null 值。
只需更改 getter 以返回 Long
而不是 long
即可修复它。验证您的 getter 是否返回 Double
而不是您的情况下的 double
。
ps:我知道这个问题已经很老了,但因为我遇到了同样的问题,而且这个问题在谷歌答案中排在第二位......似乎迟到总比不回答好
关于java - JsonMappingException(原为 java.lang.NullPointerException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12779278/
我以为我有一个父类参数,它有2个子类 ComboParameter 和 IntegerParameter @JsonSubTypes({ @JsonSubTypes.Type(value =
运行以下行时: Request> requestMap = JsonUtils.fromJson(eventContext.getMessage().getPayloadAsString(), Req
我已经使用 jersey 在 java 中编写了一个 REST API。当我使用 XML 请求时,一切正常,但当我使用 JSON 请求时,我总是得到 JsonMappingException。 这些对
我使用spring RestTemplate并将json响应转换为pojo。但得到一个 JsonMappingException POJO @Root public class Account { @
我的此类带有一个标有 @JsonCreator 的构造函数,用于将 JSON 字符串反序列化到我的类 Meal 中: public class Meal { private int prote
我的 IDE 在 mapper.readValue 行给我错误 Unhandled Exception com.fasterxml.jackson.databind.JsonMappingExcept
我在 Java 中有一个通用类型的类。它应该在收到一些 json 后返回一个 T 类型的对象。我正在使用以下代码创建对象: ObjectMapper mapper = new ObjectMapper
我有一个用 Java (spring boot) 编写的 rest api,我的请求从请求 header 中获取一个 json 字符串(不要问为什么这样:),例如{flowerId: 123}在我的
我正在尝试向我的网页显示数据库数据。当 GET 请求到 @RequestMapping(value = "/api/binder") 时,我做了以下代码。 但是当获取请求到达此方法时,它会获取数据(我
我正在构建一个使用并返回 JSON 的 RESTful Web 服务。当我尝试通过服务层从数据库中获取 ESRBRating 对象时,我遇到了以下堆栈跟踪。但是,当我将 Spring Data JPA
我在 Camel Route 中遇到了异常 Caused by: com.fasterxml.jackson.databind.JsonMappingException: No serializer
对传递给 ObjectMapper Json 解析器方法的字符串进行 null 和空检查时,出现异常。这是我的代码: private static final ObjectMapper OBJECT_
我正在使用 Retrofit 2 和 jackson 转换器下载并解析此 json `{ "message": "Action complete.", "successCode": 0,
我知道关于我会告诉你的同一个问题有很多问题,但还没有一个能解决我的问题。 我已经实现了一项服务,该服务必须通过延迟加载来访问对象属性。这是类的简化: @Entity public class Trea
我有一个类需要使用 Jackson 从 JSON 反序列化。类结构如下所示: public class A { public B b; } public class B { publi
我尝试反序列化包含空属性并具有 JsonMappingException 的对象。 我的工作: String actual = "{\"@class\" : \"PersonResponse\","
尝试反序列化 JSON 时遇到以下异常 No suitable constructor found for type [simple type, class MyObj$obj$Card]: can
我有一个 Web 应用程序,其中服务器以 JSON 格式返回任何结果。为了创建 JSON,我使用 codehaus Jackson ObjectWriter 版本 1.9.8。 我遇到的问题是映射中有
我在尝试放置“可选实体过滤”时遇到问题。我有一个抽象类,如下所示: // In your Pom org.glassfish.jersey.ext je
尝试使用 @JsonIdentityInfo jackson 注释时出错。当我尝试反序列化对象时,出现以下异常: Could not read JSON: Already had POJO for i
我是一名优秀的程序员,十分优秀!