通常,我将json字符串解析为json对象,而不是直接操作json字符串。例如,像
这样的json字符串{"number": "1234567"}
如果我必须在末尾添加000
...
{...,"number" : "1234567000",...}
....
我将使用jackson将其解析为Json Object或POJO
我知道将可读性角度解析为Json对象或POJO会更好,但是我对性能感到好奇。在这种情况下,如果我直接操作json字符串,则必须使用正则表达式提取number属性,并在末尾添加000,如果有大量数据,这比解析到Json Object要昂贵得多?因为字符串对象基本上会创建一个新的字符串对象?
编辑: 基于@Itai Steinherz的链接,我也在JS中建立了基准,它表明json解析更好 https://jsbench.me/93jr1w6k5b/1
答案 0 :(得分:0)
由于我对Java中的JSON解析/操作不是很熟悉,因此我将比较JavaScript中的相同操作(我比较有经验)。
与将基本正则表达式与.replace
以及使用JSON.parse
和JSON.stringify
进行比较,结果是使用JSON.parse
的速度要慢一小部分 >(准确地说是4.37%)。
但是,我认为性能提升是不值得的,我将始终使用更具可读性和可维护性的代码(JSON.parse
方法)而不是性能更高的(.replace
方法)。
请参阅我使用的here完整基准。