将包含无效XML字符的任意JSON转换为Java中的XML

将包含无效XML字符的任意JSON转换为Java中的XML,java,xml,json,Java,Xml,Json,背景: 我正在调用JSON格式的web API并将其传递给用户 需要XML格式的数据编排工具 编排工具允许自定义Java过程 问题: JSON可以包含转换为XML时会导致问题的元素。 例如,twitter处理@john:somevalue对于JSON中的键是合适的 但当转换为XML时,somevalue会导致 用于抛出错误的编排工具 我遇到了各种各样的web API,它们经常变化。我需要 能够将任意JSON转换为XML,几乎不需要维护 到目前为止的研究: 我在Java中找到了几种将JS

背景:

  • 我正在调用JSON格式的web API并将其传递给用户 需要XML格式的数据编排工具
  • 编排工具允许自定义Java过程
问题:

  • JSON可以包含转换为XML时会导致问题的元素。 例如,twitter处理@john:somevalue对于JSON中的键是合适的 但当转换为XML时,somevalue会导致 用于抛出错误的编排工具
  • 我遇到了各种各样的web API,它们经常变化。我需要 能够将任意JSON转换为XML,几乎不需要维护
到目前为止的研究:

  • 我在Java中找到了几种将JSON转换为XML的方法,但其中许多都是针对固定输入结构的
  • 这似乎是我想要的,但我有问题让它工作,并跟踪所有需要的罐子
  • 我已经看到一些库将为&、'和''执行一些基本的字符转义。有更健壮的库吗

我最终反序列化了JSON并遍历了数据,方法是使用以下正则表达式查找节点,然后删除或替换非拉丁字符

获取JSON节点的正则表达式

"(.*?)":

您可以使用一些不需要将JSON属性名称转换为XML标记的XML公式。例如…@Henry您有相关文档吗?对我来说,这听起来像是一个简单的编程问题。假设不需要“另一端”“要理解它们,你可以定义自己的逃避模式。如果你小心的话,你可以在JSON字符串被解析之前对它进行转义处理。你试过了吗?至少它可以处理
@属性
之类的东西(作为XML属性)。