【问题标题】:Which is the better Performance to read values from XML or JSon从 XML 或 JSON 读取值哪个性能更好
【发布时间】:2014-09-30 07:40:30
【问题描述】:

我很困惑,你能帮我解决这个问题吗?即,我正在使用 xpath 直接读取 xml 消息并从中读取值,而且我正在尝试将 xml 转换为 json 并由于轻量级对象而读取值所以哪一种是读取值的最佳方法。我附上以下 sn-p 代码。

下面是从xml读取值的代码

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(source);

XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();

String eventNumber = xpath.evaluate("/event/eventnumber", document);

下面是xml转json

JSONObject xmlJSONObj = XML.toJSONObject(xml1);

【问题讨论】:

    标签: java xml json performance


    【解决方案1】:

    这实际上取决于您将使用这些数据的目的。如果您需要对数据进行大量解析/遍历,由于 JSON API 的性质,JSON 会更快。因此,如果您需要对单个文件进行大量数据提取/检查,我会将 XML 转换为 JSON。

    如果您只需要在 XML 文件中查找单个字段或只进行少量解析/数据提取,我会坚持使用 XML。如果您只打算对 XML 文件进行少量遍历,那么将 XML 文件转换为 JSON 的额外处理是不值得的。将 XML 转换为 JSON 再遍历 JSON 所花费的处理时间比遍历 XML 文件一次所花费的处理时间成本更高。

    【讨论】:

    • @Vskiran 100 值不是很多,但如果你想要速度,如果它适合你的数据,我会考虑 CSV。
    • 如果您发现必须在 XML 树中进行大量遍历,那么我将转换为 JSON。但是,如果您要查找的元素非常浅,并且不需要很多代码行来提取您需要的数据,我会保持原样。这是对 XML 与 JSON stackoverflow.com/questions/3536893/… 的更深入分析。很多都归结为偏好和可用性/可读性。
    【解决方案2】:

    此处发布的另一个讨论: JSON and XML comparison

    在我的拙见中,由于您收到 XML 格式的消息,因此将其转换为 JSON 然后解析它不会提高效率 - 所以坚持使用 XML

    【讨论】:

      【解决方案3】:

      由于您的输入是 XML,为了速度而转换为 JSON 似乎不是一个好主意。我想,使用您的其他方法,您会在 DOM 创建上浪费时间,然后在 xpath 上浪费更多时间。最快的解决方案是恕我直言SAX parser。它不会创建任何对象,只会在您感兴趣的事件上调用您。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-28
        • 2012-04-19
        • 1970-01-01
        • 1970-01-01
        • 2013-04-22
        • 2012-07-20
        • 2011-11-24
        • 1970-01-01
        相关资源
        最近更新 更多