概述
有些时候如果json格式数据里如果value带有双引号,则这样的数据无法直接用json工具解析出来,需要手动去处理,下边的正则表达式匹配出带有双引号的value。
String str="{"keyword":"xin "hua","type":"news","countryName":"not中国"," + ""pageNo":1,"pageSize":10,"beginDate":"""2018-05-01 00:00:00"""," + ""endDate":"2018-05-09 23:59:59"}"; Pattern pattern = Pattern.compile(""([a-zA-z0-9]{0,})":"{1}([a-zA-z0-9\-\s\:\u4e00-\u9fa5"]{0,})"{1}[\,\}]{1}|" + ""([a-zA-z0-9]{0,})":([a-zA-z0-9\-\s\:\u4e00-\u9fa5"]{0,})[\,\}]{1}"); Matcher matcher = pattern.matcher(str); while (matcher.find()){ if(matcher.group(1)!=null) { System.out.println("key:" + matcher.group(1)); System.out.println("value:" + matcher.group(2)); }else{ System.out.println("key:" + matcher.group(3)); System.out.println("value:" + matcher.group(4)); } }
最后
以上就是超帅戒指为你收集整理的java正则匹配json的全部内容,希望文章能够帮你解决java正则匹配json所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复