我在jsonrpc4j中使用Jackson来访问远程服务。在我的Java应用程序中没有为返回值定义的类,因此反序列化会生成通用的LinkedHashMaps。所以我不能在任何地方添加注释。 jsonrpc4j可以接受Jackson ObjectMapper对象。 远程服务使用结构化的json对象进行响应,其中一些字段是非常大的十进制数,Jackson将它们视为双精度对象。 一个例子对象可以是这样的将JSON反序列化为通用映射,强制所有JSON浮点数转换为Decimal或String,在Jackson中
{"s1":"zxcvb","f1":20.00234,"a1":[{"f2":3883.99400943},{"f3":0.00093944432}]}
我想它,而不是解释所有的数字作为字符串或小数的配置精度,并根据这些类型正确地分析它们。 使用修改的ObjectMapper对象可以做到这一点吗? 如果没有,那么最简单的方法是什么?
你有什么代码这么远? – Chris 2013-04-30 22:15:42
它基本上只是来自http://code.google.com/p/jsonrpc4j/用于Jsonrpc客户端的示例代码,我甚至不知道从哪里开始尝试,因为ObjectMapper类似乎没有任何配置选项,或者明显的覆盖方法很容易实现。 – Cray 2013-04-30 22:18:36
看看mixin注释。他们会为你工作吗? http://wiki.fasterxml.com/JacksonMixInAnnotations?highlight=%28%28JacksonAnnotations%29%29 – 2013-04-30 22:20:30