2011-12-14 71 views
6

JSON和XML之间是否存在严格的转换规则?将JSON转换为XML并返回有严格的规则吗?

我正在开发的程序应该能够以两种格式输出结果,但在所有可能的转换实用程序,库等中都有输出结果。我无法理解是否有任何标准(可能是“事实上的”)转换。

常见的问题,如我看到的,分别是:

  • 转换从一种格式到另然后回应该给结果相同原始;

  • JSON有数组 - 在XML中简单地嵌套类似的子项不会这样做,因为某些XML处理工具不会保留顺序;

  • XML具有属性 - 它们作为子项的表示在转换回时会改变原始XML。

我可以在这个问题上找到任何文档吗?或者我可以使用任何合适的转换器,因为缺乏这样的标准?

非常感谢您提供链接,建议,指南。

回答

1

不......目前还没有严格的规定。

正如你暗示的那样......虽然JSON可以转换为XML,但转换不能健壮,因为根据定义,XML标签列表不是可以连接到任何特定的数据结构,而JSON数据结构(地图和列表)。因此...如果将JSON文件转换为XML,则无法将其无损地转换回JSON(除非您将一些非标准元信息嵌入用于XML解码的JSON对象中)。

+0

谢谢你明确的答案! – 2011-12-14 04:53:20

0

就个人而言,这很大程度上将取决于您的具体实施。但最终,真正的关键应该是在你有实际的关系......

  • 对象 - > JSON
  • JSON - >对象
  • 对象 - > XML
  • XML - >对象

至于真正做任何事情,试图从XML做的任意转换 - > JSON或反之亦然将是非常难以管理/流程为你勾勒。但是如果你在中间有一个共同的对象模型,你应该没问题。

因此,只要您的序列化和反序列化方法适用于各个对象类型,实际过程应该没有任何问题。

0

是的,有可能。如果您定义了如何处理这些问题,我认为您可以处理所有您的疑虑。我不知道一个标准的做法。

我认为这是你需要如何去了解它很讲http://jsontoxml.utilities-online.info/

基本上你“编码”属性和文本数据用一种方式来表示什么数据,什么是属性,等等。非常有趣,我认为玩这个工具会给你一些创意的想法来创建一个适用于你的规范的规则集。

最重要的是,如果你继续这样做,就是要记录处理过程如何工作以及预期的结果。