以下に示すように重複キーを持つJSONがあります。重複キーを持つJSONをマルチマップとして表示
{
"name": "Test",
"attributes": [{
"attributeName": "One",
"attributeName": "Two",
"attributeName": "Three"
}]
}
私はジャクソンを使用してMap<String, Object>
にそれを変換すると下図のように、それが変換されます。
{名前=テスト=属性[{たattributeName =三}]}
属性名の最後に出現の値が考慮されます。代わりにMultimapとしてそれを表すようにジャクソンに伝える方法はありますか?私はMultimapの実装を使用しても構いません。下図のように私の現在のコードは次のとおりです。
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
public class TestJSON {
public static void main(String[] args) throws Exception{
ObjectMapper mapper = new ObjectMapper();
String json = "{\"name\": \"Test\",\"attributes\": [{\"attributeName\": \"One\",\"attributeName\": \"Two\",\"attributeName\": \"Three\"}]}";
Map<String, Object> map = new HashMap<>();
map = mapper.readValue(json, new TypeReference<Map<String, Object>>(){});
System.out.println(map);
}
}
JSONを修正して有効にする方法はありますか? https://stackoverflow.com/questions/5306741/do-json-keys-need-to-be-uniqueを参照してください –