Java+Jackson で json 文字列から object を生成する際、特定プロパティを文字列のままとしたい
Java+Jackson で json 文字列から object を生成する際、特定プロパティを
文字列のままとしたいのですが、そのようなことは可能でしょうか。
例えば
String text =
"{" +
" \"key1\": \"var1\", " +
" \"key2\": {\"subkey1\":\"subvar1\", \"subkey2\":\"subvar2\"} " +
"}";
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> json = (Map<String, Object>) mapper.readValue(text, Map.class);
としたとき、
json.get("key1") → var1 という String を取得
json.get("key2") → {"subkey1":"subvar1", "subkey2":"subvar2"} という String を取得
としたいのです。
https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations
Jackson Annotations
から、これだ!というのは見つけられていないのですが、おそらく何かしらありそうな気がします。
もしない場合、一度オブジェクトに変換した key2 の値を、再度 json 文字列に
変換する予定ですが、おそらくパフォーマンス的に厳しいことになりそうなので、
Jackson で例外扱いできないかと思っております。
よろしくお願いいたします。