提取json字符串中指定格式中的参数值
2024-08-28 02:28:41
直接上代码:
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class TestDemo {
public static void main(String[] args) {
ArrayList json = new ArrayList();
json.add("111");
json.add("222");
json.add("333");
User user = new User();
user.setJson(json);
user.setCode("200");
user.setMessage("true");
String string = "(" + JSON.toJSONString(user) + ")";
System.out.println(string);
// String regex = "\"json\":(.*?),\"message\"";// 使用非贪婪模式!
Pattern pattern = Pattern.compile("\\[\"(.*?)\"\\]");
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
String parse = "[{CSTM_NO:\"11118\",CSTM_NAME:\"广东XX电力有限公司\",FIX_GNL:\"111810158\",FIX_ACC:\"D201306070003\"," +
"OP_FLAG:\"正常\",BUSS_KIND_NAME:\"三个月定期存款\",BAL:\"25,178,750.00\",AVAL_BAL:\"25,178,750.00\"," +
"OP_DATE:\"2013-06-07\",DUE_DATE:\"2013-12-07\",ROWNUM_:1,idx:0},{CSTM_NO:\"11118\"," +
"CSTM_NAME:\"广东XX电力有限公司\",FIX_GNL:\"111810158\",FIX_ACC:\"D201306070002\",OP_FLAG:\"正常\"," +
"BUSS_KIND_NAME:\"三个月定期存款\",BAL:\"25,178,750.00\",AVAL_BAL:\"25,178,750.00\",OP_DATE:\"2013-06-07\"," +
"DUE_DATE:\"2013-12-07\",ROWNUM_:3,idx:2},{CSTM_NO:\"11118\",CSTM_NAME:\"广东XX电力有限公司\"," +
"FIX_GNL:\"111810158\",FIX_ACC:\"D201306070005\",OP_FLAG:\"正常\",BUSS_KIND_NAME:\"三个月定期存款\"," +
"BAL:\"25,178,750.00\",AVAL_BAL:\"25,178,750.00\",OP_DATE:\"2013-06-07\",DUE_DATE:\"2013-12-07\"," +
"ROWNUM_:4,idx:3}]";
String regex = "FIX_ACC:(.*?),OP_FLAG";//别忘了使用非贪婪模式!
Matcher matcher1 = Pattern.compile(regex).matcher(parse);
while (matcher1.find()) {
String ret = matcher1.group(1);
System.out.println(ret);
} String str = "我是[001]真心求救的[002],你能帮帮我吗"; Pattern pattern1 = Pattern.compile("\\[(.*?)\\]"); Matcher matcher2 = pattern1.matcher(str); while(matcher2.find()){ System.out.println(matcher2.group(1));
}
}
}
打印结果如下:
({"code":"200","json":["111","222","333"],"message":"true"})
111","222","333
"D201306070003"
"D201306070002"
"D201306070005"
001
002 Process finished with exit code 0
最新文章
- DUT Star Weekly Contest #3 Problem F Solution
- read name 和 read 在 Bash 中的区别
- Linux下如何修改Apache根目录
- JavaScript学习笔记-元素在滚动条滑动一定高度后自动置顶
- Python基本数据结构-集合-创建/与其他类型比较
- 987654321 problem - SGU 107(找规律)
- Js屏蔽键盘事件
- Altium Designer中使用差分对布线
- os基础
- Spring MVC之Action返回类型
- 使用@property
- 深度理解PHP中for与foreach两个循环结构遍历数组的区别
- 吴裕雄 python 机器学习-DMT(1)
- svn本地连接服务器失败,但是浏览器可以
- html5shiv.min.js
- mount: unknown filesystem type 'LVM2_member'解决方案【转】
- Microsoft Dynamics CRM 2011 如何导入组织
- [转帖]windows 2008 Server R2 /Win7启用TLS 1.2
- leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法
- golang的缓冲channel和无缓冲channel的区别