簡體   English   中英

在Jackson中序列化數組類型和數組

[英]Serializing array types and arrays in Jackson

我有一個使用Java中的Jackson將諸如RPC消息之類的類序列化為JSON的任務。 我必須說,我是Jackson的新手。 現在,我正在嘗試將數組類型序列化為JSON。

我有:

 ObjectMapper mapper = new ObjectMapper(); 

然后將一條消息放入HashMap(簡化)

 LinkedHashMap<String,Object> map = new LinkedHashMap<String, Object>();
 if(msg.getSignal())
     map.put("signal",msg.getMethodName());
 else {
     map.put("method", msg.getMethodName());
     map.put("retT", msg.getReturnType()); //returns Class<?> type
 }

 return mapper.writeValueAsString(wrapper);

對於方法名稱“ add”並返回int []類型,結果為:

{"method":"add","retT":"[I"}

誰能幫我實現“ [int]”而不是“ [I]”嗎?

我假設'msg.getReturnType()'返回Class; 如果是這樣,Jackson只會在其上調用toString()。 如果是這樣,您可能想自己進行轉換,以獲得所需的實際String值。

您還可以稍微簡化一下代碼,因為ObjectMapper具有'writeValueAsString()'方法:

return mapper.writeValueAsString(wrapper);

它將在內部處理StringWriter和JsonGenerator的創建,以實現您的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM