我在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