我应该单独解析XML和JSON还是先将其转换为另一个?

时间:2011-08-30 16:55:23

标签: c# .net json linq-to-xml json.net

我从各种Web服务收集数据,一些返回XML,一些JSON。我已经将JSON.Net看作是JSON的解析器,看起来它可以很好地提取我需要的项目,特别是使用Linq。

问题是,我应该继续使用JSON.Net的转换方法,并在处理之前将我收到的所有XML转换为JSON,这意味着我只需要为JSON编写解析方法。

任何人都可以想到使用单独的XML解析代码的优势(可能与Linq一起查询)。如果数据结构开始变得复杂,使用JSON是否有缺点?

2 个答案:

答案 0 :(得分:1)

两种格式都可以有效地表示对象图,因此我认为数据结构复杂性不是问题。

我发现JSON的唯一缺点是XML可以导航。您可以浏览XML 序列化对象图的结构,而无需实际创建相应的对象图。使用JSON,除非我遗漏了某些内容,否则您需要创建对象图来导航结构。

我不是100%肯定,但看起来Linq实际上还是要求在内存中创建图表。如果这是真的那么劣势就会消失。

答案 1 :(得分:1)

我可以看到使用XML的唯一真正区别是验证一个人对模式的解析,尽管我不知道JSON.NET对JSON Schema的支持(目前是IETF草案)。