gpt4 book ai didi

java - 在java中更快地解析json

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:37 25 4
gpt4 key购买 nike

我有这个场景。我将向 Web 服务发送请求,并获取 XML 响应。使用 json.lib 中的 XML 类将 XML 转换为 JSON。从 Web 服务获得响应的时间为 7 秒,解析大约需要 4-8 秒。然后我需要做的就是将 JSON 解析为所需的格式。

例如:转换 XML 后的 JSON

{"Response":{"Response":{"type" : [{1,2,3}]},"value":[{100,200,300}]}}

我正在将此 JSON 转换为以下格式

[{"type":1,"value":100},{"type":2,"value":200},{"type":3,"value":300}]

问题是,这种 JSON -> JSON 的特殊转换需要花费大量时间,因此不是在 15 秒内显示结果,而是花费了大约 25 秒,最糟糕的是,如果 JSON 有点大,则最多需要 90 秒。你能告诉我我应该做什么才能让它更快吗?

我使用 Spring 3.0 + Tomcat 6.0.29 + json.lib 进行 JSON 解析。

更新:

我用来将 XML 转换为 JSON 的代码。

JSONObject ResponseObj = XML.toJSONObject(elementToString.getelementToString((Element)Responses.item(0)));

最佳答案

首先,为什么是 json-to-json?这是必要的还是“有它就好”?

我认为问题在于对象创建,首先通过将 xml 解析为 DOM 创建大量对象,然后必须为 xml->json 转换构建一个新的对象树,然后再次为 json->json 转换创建另一个对象树。对象创建是 Java 中最昂贵的操作之一。

要阻止所有对象创建,请查看事件驱动的 xml 和 json 处理,如 SAX对于 XML 和 Json Simple和/或 Jackson对于 JSON。

但是,当然,最快的可能解决方案是处理 XML SAX 样式并跳过所有转换。

关于java - 在java中更快地解析json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com