通常我将json字符串解析为json对象,而不是直接操作json字符串.例如,像json字符串
{"number": "1234567"}
如果我必须在最后添加000
...
{...,"number" : "1234567000",...}
....
我将使用jackson将其解析为Json Object或POJO
我理解可读性透视图解析到Json对象或POJO要好得多,但我对性能感到好奇.在这种情况下,如果我直接操作json字符串,我必须使用正则表达式来提取数字属性,并在最后添加000,这比解析Json对象要昂贵得多,如果有大量数据?因为string对象基本上创建了一个新的字符串对象
编辑:
基于@Itai Steinherz的链接,我也在JS中做了一个基准测试,它显示了json解析更好
https://jsbench.me/93jr1w6k5b/1
解决方法:
由于我不熟悉Java中的JSON解析/操作,我将比较JavaScript中的相同操作(我更熟悉).
使用基本正则表达式与.replace进行比较并使用JSON.parse& JSON.stringify,结果是使用JSON.parse的速度较慢(确切地说是4.37%).
但是,我认为性能增益并不值得,而且我总是会使用更易读和可维护的代码(JSON.parse方法)而不是更高性能(.replace方法).
查看我使用的完整基准here.
标签:json,java,jackson,string
来源: https://codeday.me/bug/20190710/1424453.html