我有一个 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 数组中的每个元素都不是字符串,我希望抛出异常。这可能吗?