解析json串,利用正则表达式,split



public class SplitJson {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
     String str = "[{"version":"100"},{"type":"210"},{"chanl_no":"30"},{"chanl_sub_no":"3001"},{"chanl_date":""},{"chanl_time":""},{"ectip_date":""},{"chanl_flow_no":""},{"ectip_flow_no":""},{"chanl_trad_no":"3FC012"},{"term_inf":""},{"resp_code":""},{"resp_msg":""},{"page":""},{"maxrow":""},{"locstr":""},{"tot_rec":""},{"ARRAY_3FC012":""},{"0":""},{"age":"23"},{"name":"小cn"},{"sex":"男"},{"1":""},{"sex":"女"},{"age":"24"},{"name":"小王"},{"29":""},{"name":"小张"},{"age":"22"},{"sex":"男"}]";
     //正则表达式的串为{"29":""}
     String[] splitStr = str.split("\{\"\d{1,2}\":\"\"\}");
     String resultStr = splitStr[0];
     for(int i = 1; i < splitStr.length; i++){
         resultStr += splitStr[i].replaceAll("\},\{", ",").substring(1);//去掉多余逗号
     }
     System.out.println(str);
     System.out.println(resultStr);
     //测试空指针异常
     System.out.println(spitJson(null, null));
     System.out.println(spitJson("", null));
     System.out.println(spitJson("", ""));
    }
    
    public static String spitJson(String jsonStr, String regex){
        if(jsonStr == null || regex == null ) return "";
        String[] splitStr = jsonStr.split(regex);
        String resultStr = splitStr[0];
        
        return resultStr;
    }

}

原文地址:https://www.cnblogs.com/herosoft/p/5720632.html