解析VS处理为字符串(JSON)

时间:2012-12-03 02:13:34

标签: java json performance parsing

嘿同事们,

我正在研究速度是关键的JAVA应用程序。我需要处理一个JSON流(对服务器的请求返回一个我连续解析的json对象,以便稍后对其进行分析)。 Json对象长约2000个字符,所以我想知道将它作为字符串(使用indexOf,substring等...)而不是使用JSON Parser来更快。 (我使用Jackson和Json-lib没有明显的区别)?它能为我节省几毫秒吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这取决于你需要知道的内容,但总的来说,我认为使用JSON解析器会更好。解析器将进行高度优化,因此如果您需要读取许多值,它将超过您自己的尝试。此外,解析器将忽略空格,而您必须明确地处理它。

自己检查一些事情比你想象的要困难。例如,如果您需要知道属性“x”是否存在,则不能只检查字符串x是否存在,因为它也可以是值的一部分。您无法查找x:,因为它们之间可能存在空格。如果您找到x,您知道它是否在正确的位置吗?它是正确对象的一部分,还是你根本没想到的子对象的一部分?

在你知道它之前,你自己正在编写一个解析器。

如果你不注意区别,不要打扰并使用解析器,因为它是最简单,最安全和最灵活的选择。只在需要时才开始优化。