【发布时间】:2017-03-05 10:26:37
【问题描述】:
我使用HttpURLConnection 将Java 对象传递给接受json 的Web 服务。
使用 com.fasterxml.jackson 将对象转换为 json 字符串,然后将其写入输出流,该服务适用于简单的虚拟 POJO,但是当我使用我最初打算发送的复杂对象时,应用程序会中断,
控制台充满了 StackOverflow 等异常和无休止的混乱
在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:690) 在 com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
常见的解决方案就像用 json 注解对类进行注解。 有没有其他方法可以绕过它,比如使用不同的 accept:content-type 进行 Web 服务(除了 json 或 xml,因为它们需要带注释的对象)或类似的?
【问题讨论】:
-
发送一个结构与服务预期的 JSON 结构匹配的对象。如果您的原始对象与此结构不匹配,则可以对其进行注释以匹配它,或者您可以将相关状态复制到结构匹配的对象,即 DTO。