1
我使用Jackson在Java中序列化對象。我建立一個對象,現在我想獲得一個「無根」 JSON,如:在Jackson中將對象序列化爲JSON而沒有根密鑰
{
"requestHeader": {
"specVersion":"1.2",
"customerId":"123123"
},
"someThingElse": "123"
}
這裏,requestHeader
和someThingElse
在同一個根目錄下。
使用此代碼,我不得不設置一個關鍵點:
import com.fasterxml.jackson.databind.ObjectMapper;
...
ObjectNode response = mapper.createObjectNode();
response.set("unwantedRootKey", data);
這會導致額外的根級別,我不想要的。
{
"unwantedRootKey": {
"requestHeader": {
"specVersion":"1.2",
"customerId":"123123"
},
"someThingElse": "123"
}
}
如何,我可以添加以串行方式中的數據,因此不產生一棵樹,但林這麼說? (我可以砍,最後一個字符串,但也...)
'response.set('requestheader',data.requestheader); response.set('somethingelse','123)'? –
@raolsson沒有正確理解這個問題。如果你能告訴我你爲什麼要做response.set(「unwantedRootKey」,數據),我將能夠回答這個問題。 –
與您遇到的問題無關,使用'com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode()'將是創建新的ObjectNode引用來處理而不是通過ObjectMapper的更直接的方法 – whaley