C# 我应该分别解析XML和JSON还是先将它们转换成另一个?

C# 我应该分别解析XML和JSON还是先将它们转换成另一个?,c#,.net,json,linq-to-xml,json.net,C#,.net,Json,Linq To Xml,Json.net,我正在从各种web服务收集数据,有些返回XML,有些返回JSON。我研究了JSON.Net作为JSON的解析器,它似乎可以很好地提取我需要的项,特别是使用Linq 问题是,我是否应该继续使用JSON.Net的转换方法,在处理之前将收到的所有XML转换成JSON,这意味着我只需要为JSON编写解析方法 任何人都能想到使用单独的XML解析代码(可能使用Linq查询)的优势吗。如果数据结构开始变得复杂,使用JSON是否有缺点?这两种格式都可以有效地表示对象图,因此我认为数据结构的复杂性不是问题 我发现

我正在从各种web服务收集数据,有些返回XML,有些返回JSON。我研究了JSON.Net作为JSON的解析器,它似乎可以很好地提取我需要的项,特别是使用Linq

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


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

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

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


我不是100%确定,但似乎Linq实际上需要在内存中创建图形。如果这是真的,那么缺点就作为一个因素消失了。

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

是的,我认为JSON.NET支持模式()-但未进行充分调查。在这一点上,我没有考虑过根据模式验证任何响应,但似乎我应该这样做!如果我将所有内容都转换为JSON,那么我假设不使用XML创建对象图的优势与使用单个处理组件的优势是相互权衡的。我认为另一个选择是将所有内容转换为XML。。。