我收到一个包含XML或JSON内容的字符串。
如果字符串包含JSON内容,我使用Jackson(Java API)将JSON转换为Java对象。
如果它包含XML内容,我使用JAXB将XML内容转换为Java对象(取消编组)。
我如何检查我接收到的字符串是XML还是JSON?
{ [ " 0-9 - true false null
if(s.startsWith("<")
。<
开头,那么它是XML结构。
- 以{
、[
或其他允许的起始字符开头,那么它是JSON结构。null
、true
、false
开头是合法的,但如果您已经了解一些有关您的数据结构的信息,可以避免这些情况。<
,如果是,则将其视为XML。在其他情况下,将其视为JSON,并让jackson在不合法的JSON语法时引发一些异常。[
开头。 - bdoughan{
,但其他符号也是允许的,我会相应地更新答案。 - Matthias