json 数组一个问题

老夫需要在一个字符串中查找是否有某个值、

使用fastJson发现性能其实并不好

后来发现其实不需要将他反序列化成jsonobject或者类 我只需要在字符串里查找该值即可

所花费减少了很多倍

 

public class JSONStringUtil {
    public static String getStringFromJsonByKey(String str,String key,String split){
        int i = str.indexOf(key+split);
        char s = split.charAt(0);//分割符
        char t = ":".charAt(0);
        char blank = " ".charAt(0);
        boolean start = false;
        int lastNum= 0;
        if(i>=0){
            i += key.length()+1;//转到索要查找的字符串后面
            for(int j=i;j<str.length()-1;j++){//遍历一遍
                char c = str.charAt(j);
                if(start){
                    if(c==s){
                        lastNum=j;
                        break;
                    }
                }else{
                    ++i;
                    if(c==s){
                        start = true;
                    }
                }
            }
            return str.substring(i,lastNum);
        }
        return null;
    }
}

 

 

jsonstring程序运行时间: 10ms
fastjson 程序运行时间: 175ms

Process finished with exit code 0

也就17,18倍吧 哈

适用于传过来一个json字符串但是只是取一两个字符串值的场景 

这里只有取字符串 没有取数字 需要的自己写吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值