文字列のみが含まれていることを確認したいJSON配列があります。Jackson は、整数と日付を文字列に暗黙的にキャストします。JSON 配列のすべての要素が実際には文字列であることを確認したいと思います。
Object[] badModuleArray = new Object[]{"case", 1, 2, "employee", new Date()};
ObjectMapper objectMapper = new ObjectMapper();
String jsonModules = objectMapper.writeValueAsString(badModuleArray);
try
{
TypeFactory typeFactory = TypeFactory.defaultInstance();
mapper.readValue(modules, typeFactory.constructCollectionType(List.class, String.class));
}
catch(IOException e)
{
logger.error("something other than strings in JSON object");
}
上記の例では、ObjectMapper が整数、日付などを文字列にキャストしないようにします。JSON 配列の各要素が文字列でない場合にスローされる例外が必要です。これは可能ですか?