java中json的理解,java – 我应该将json字符串解析为json对象还是直接操作字符串...

通常我将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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值