2015-05-04 104 views
0

我試圖使用Jackson解析一些JSON。這裏是JSON:
{ "data": { "item1": "Hello", "item2": "World" } }忽略使用傑克遜的最外層JSON元素

我見過實現使用傑克遜的數據字段被忽略/不讀取,但內部元素仍然被讀取和存儲。我想知道這是如何實現的?

乾杯!

回答

1

在你的映射器的配置,你可以作爲本作更詳細如下

private ObjectMapper rootMapper() 
{ 
    ObjectMapper mapper = new ObjectMapper(); 

    mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true); 
    return mapper; 
} 

你可以看看傑克遜數據綁定話題

+0

我補充說,我的應用程序,但它失敗,錯誤解開的根元素「根類型數據與預期的類型不匹配」 – dlucci

+0

您需要添加@JsonRootName註釋,請參閱:https://gist.github.com/araqnid/e174c0bafc8edd05a4a0 – araqnid

+0

@dlucci或者您可以指定'withRootName(「data」) '如果你不想使用註釋,則從映射器創建的ObjectReader上 – araqnid