【问题标题】:Should I parse XML and JSON separately or convert one to the other first?我应该分别解析 XML 和 JSON 还是先将一个转换为另一个?
【发布时间】:2011-08-30 16:55:22
【问题描述】:

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

问题是,我是否应该继续使用 JSON.Net 的转换方法,将我收到的所有 XML 转换为 JSON 再进行处理,也就是说我只需要编写 JSON 的解析方法。

谁能想到拥有单独的 XML 解析代码的好处(可能用 Linq 查询它)。如果数据结构开始变得复杂,使用 JSON 是否有缺点?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 是的,谢谢,我认为 json.net 支持模式 (james.newtonking.com/archive/2009/01/04/…) - 虽然没有完全调查。在这一点上,我还没有考虑验证任何针对模式的响应,但似乎我应该这样做!
    【解决方案2】:

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

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

    我不是 100% 确定,但看起来 Linq 无论如何都需要在内存中创建图形。如果这是真的,那么缺点作为一个因素消失了。

    【讨论】:

    • 我想,如果我将所有内容都转换为 JSON,则不用在 XML 中创建对象图的优势与拥有单个处理组件的优势相比。我想的另一个选择是将所有内容都转换为 XML...
    猜你喜欢
    • 2017-04-21
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多