Java 检查字符串是有效的 JSON 还是有效的 XML,或者两者都不是
我正在编写一个函数来检查输入字符串是有效的JSON还是有效的XML,或者两者都不是。我在这里找到了一个帖子。但显然,帖子中的答案是不正确的,因为他们只检查字符串是否以或开头,这不能保证字符串是有效的JSON或有效的XML。<
{
我自己确实有一个解决方案,那就是:
public static String getMsgType(String message) {
try {
new ObjectMapper().readTree(message);
log.info("Message is valid JSON.");
return "JSON";
} catch (IOException e) {
log.info("Message is not valid JSON.");
}
try {
DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(message)));
log.info("Message is valid XML.");
return "XML";
} catch (Exception e) {
log.info("Message is not valid XML.");
}
return null;
}
我想知道是否有任何更好或更短的解决方案?谢谢。