当前位置: 首页 > 面试题库 >

JsonMappingException(was java.lang.NullPointerException)

颛孙天宇
2023-03-14
问题内容

我已经搜索了一段时间,但没有找到任何答案,因此我丢失了一些明显的东西,没人写过任何东西,或者遇到了一个不寻常的问题。我希望这是第一个…

我正在使用第三方库(IDMLlib)从以.idml格式存储的Adobe
InDesign文档中提取信息。内容很容易阅读并存储在“ Idml”类型的对象中,其中包含我需要的所有内容。现在,我想使用Jackson
JSON
将此对象发送到Web客户端(浏览器)。

我遇到了两个问题:

1)对象树充满了循环参照。我已经通过在批注中使用混合插件来解决此问题

@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")

所以现在,如果问题2需要的话,我已经准备好了很多混入工具。

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可以处理
值,double不能。就我而言,我的属性是类型,Long但是getter返回的是long值而不是Long值。只要该值不为 null,
就可以接受。但是当该值为 null时 ,jackson无法为序列化 nulllong

只需更改getter以返回a Long而不是将其long固定即可。验证您的吸气剂是否返回a Double而不是double您的情况。

ps:我知道这个问题已经很老了,但是由于我遇到了同样的问题,而且这个问题在Google答案中排名第二。



 类似资料:
  • 问题内容: 我的IDE给我该行的错误 我试着抓住,但是并没有使错误消失。有什么想法吗? 问题答案: 扩展了,所以您的IDE本身就有了更深的麻烦-也许库导入被搞砸了?

  • 问题内容: 给定以下.json文件: 我准备了两个类来表示所包含的数据: … 为了解析.json文件中的内容,我使用Jackson 2.2.x 并准备了以下方法: 只要我忽略该属性,就可以解析所有内容。但是,当我尝试解析地理坐标时,出现以下错误消息: com.fasterxml.jackson.databind.JsonMappingException:无法 从[START_ARRAY]令牌中反序

  • //接口 我从这个问题中读到:不能构造-Jackson的实例,但似乎没有帮助,因为我有太多的类从接口实现,不仅仅是一次。

  • 我使用Google Endpoint创建了一个应用服务器,它是一个即时消息应用程序的后端。每个用户都有一个好友列表。 当我创建一个新朋友时,我使用下面的方法将用户添加到彼此的朋友列表中。然而,由于循环依赖关系,当我添加朋友时,它给了我以下错误。 我看了贴出的其他问题和解决方案。他们中的大多数人结构不同,他们没有解决我的问题。 这个网站的一个答案是建议添加,但我没有任何字段可以添加。我试图放置,但我

  • 问题内容: 使用取消序列化对象时出现以下错误: JSONMappingException无法构造org.springframework.data.Page的实例,问题:抽象类型只能用其他类型信息实例化。 我正在尝试将JSON字符串序列化为表示类型页面的Spring数据对象T。 该User班是一个简单的与和名称。我要反序列化的字符串是: 这将导致异常: 由于是对象,因此无法修改它,我认为这与我在别处

  • 问题内容: 我正在尝试使用Jackson将json数据转换为POJO对象。这是MainActivity和我的POJO类代码。我基本上收到了JsonMappingException错误。我还附上了整个日志。 MainActivity.java: Entries.java(这是POJO) 现在,我的日志中出现以下错误。因此,我无法继续工作。这是日志: 问题答案: 在 条目* 和 电话中 删除构造函数