Jackson JSON、REST 数据绑定和HashMap 问题
我使用 Spring 实现了 RESTful Web 服务,并使用 Jackson JSON 作为 JSON 对象的序列化器/反序列化器。
然而,当要反序列化的对象包含 HashMap 时,我遇到了错误 415:
private Map<String, String> requestMap = new HashMap<String, String>();
如果我删除它,一切都会完美运行。这是一个已知问题吗?有任何修复吗?
谢谢, 斯里
I implemented a RESTful web service with Spring and am using Jackson JSON as the serializer / deserializer for JSON objects.
However I run into Error 415's when the object that is to be deserialized contains a HashMap:
private Map<String, String> requestMap = new HashMap<String, String>();
If I remove this, everything works perfectly. Is this a known issue? Are there any fixes?
Thanks,
Sri
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
严格来说,Jackson 从接口类型引用进行序列化就很好。下面就这一点进行论证。
您使用的系统还存在其他问题。
Strictly speaking, Jackson serializes from Interface-type references just fine. The following demonstrates this point.
There's some other problem in the system you're using.
发现了问题。 Jackson JSON 在接口方面有困难。因此,在定义中,使用 HashMap 和 ArrayList 而不是 Map 和 List。不确定这是否是一个完美的解决方案,但它对我有用。
Discovered the problem. Jackson JSON has difficulties with Interfaces. So in the definitions, use HashMaps and ArrayLists instead of Maps and Lists. Not sure if this is a perfect solution, but it works for me.