0

各位程序员,

我正在开发一个速度是关键的 JAVA 应用程序。我需要处理一个 JSON 流(对服务器的请求返回一个我不断解析的 json 对象,以便稍后对其进行分析)。Json 对象大约有 2000 个字符长,所以我想知道将其视为字符串(使用 indexOf、子字符串等)而不是使用 JSON 解析器是否会更快。(我同时使用了 Jackson 和 Json-lib,没有明显的区别)?它会为我节省几毫秒吗?

谢谢 !

4

1 回答 1

0

这取决于您需要从中了解什么,但总的来说,我认为使用 JSON 解析器会更好。解析器将被高度优化,因此如果您需要读取许多值,它将击败您自己的尝试。此外,解析器将忽略空格,而您必须明确处理它。

自己检查一些东西比你想象的要难。例如,如果您需要知道属性 'x' 是否存在,您不能只检查字符串是否存在x,因为它也可以是值的一部分。您不能寻找x:,因为它们之间可能存在空格。如果你找到了x,你知道它是否在正确的地方吗?它是正确对象的一部分,还是您根本没想到会有子对象的一部分?

在不知不觉中,您正在自己编写解析器。

如果您没有注意到差异,请不要打扰并使用解析器,因为它是最简单、最安全和最灵活的选择。仅在需要时才开始优化。

于 2012-12-03T02:16:10.320 回答