私は jacksonを使用してJavaでjavaマップを展開してシリアル化する方法は?
このような{
"key1": {
"fieldOne": "some value",
"fieldTwo": "some value"
},
"key2": {
"fieldOne": "some other value",
"fieldTwo": "some other value"
},
"fooFieldOne":"valueone",
"fooFieldTwo":"valuetwo"
}
としてJSONとしてシリアライズしたいが、私は
にDATAMAP層を無視する方法{
"dataMap": {
"key1": {
"fieldOne": "some value",
"fieldTwo": "some value"
},
"key2": {
"fieldOne": "some other value",
"fieldTwo": "some other value"
}
},
"fooFieldOne":"valueone",
"fooFieldTwo":"valuetwo"
}
のような結果を取得しています。この
class Foo {
private Map<String, Data> dataMap;
private String fooFieldOne;
private String fooFieldTwo;
}
class Data {
private fieldOne;
private fieldTwo;
}
のような豆を持っています上記のjson?私はこれにjava jacksonライブラリを使用しています。私が試した
コードFoo
がフィールドが、その中にdataMap
と呼ばれていますので、あなたは
{ "dataMap": ... }
を取得している
ObjectMapper mapper = new ObjectMapper();
mapper.writeValueAsString(myFOOObject)
こんにちはバート、ありがとうございました。しかし私はまた、私の豆に他のフィールドを持っています。 Fooは他のフィールドfooFieldOne、fooFieldTwoをすでに持っているマップと共に持っていると考えてください。 {"key1":{"fieldOne": "some value"、 "fieldTwo": "some value"}、 "key2":{"fieldOne": "some other value"、 " 「fieldTwo」:「some other value」}、「fooFieldOne」:「valueone」、「fooFieldTwo」:「valuetwo」}。どのように私はこれを処理できますか? – suren
@JsonUnwrappedアノテーションを含めるように私の答えを更新しました。 – Bart