java - 使用正则表达式替换 json 值
问题描述
String inputJson = "{\r\n" +
" \"fullName\" : \"Hamo\",\r\n" +
" \"staff\" : false,\r\n" +
" \"supr\" : true,\r\n" +
" \"permissions\" : [ \"Perm1\", \"Perm2\" ],\r\n" +
" \"services\" : [ \"Serv1\", \"Serv2\" ],\r\n" +
" \"authToken\" : \"1234567890abcdefghaijklmnopqrstuvwxyz\",\r\n" +
" \"customerId\" : 12345,\r\n" +
" \"clients\" : [ 1, 3, 8 ],\r\n" +
" \"wts\" : false,\r\n" +
//yyyy-MM-dd
" \"testDate\" : \"1982-09-21\"\r\n" +
"}";
我需要使用正则表达式将 authToken 值替换为另一个字符串。这个问题被编辑了,因为它没有被正确地问到。
解决方案
如果没有 JSON 类,则剩下:
inputJson = inputJson.replaceFirst("(\"authToken\"\\s*:\\s*\")[^\"]*\"",
"$1" + authToken + "\"");
这假设 authToken 不包含一美元$
。
推荐阅读
- ios - 无法在 swift 上停止 DispatchQueue.global().async 任务
- javascript - 在 Angular 6 中创建秒表
- angular - 检查加载页面上的缺失元素
- spring-boot - 无法在 @PreAuthorize 中评估 SPeL 表达式
- python - 如何根据延迟时间加入熊猫中的两个表
- c - C中的算法-谁是获胜者
- revit-api - Revit API 中的高级图元过滤
- c# - Asp.Net WebForms Process_Request 方法需要很多时间
- java - 我的程序遇到了一个错误,我不知道如何修复
- reporting-services - SSRS - 带有千位和小数分隔符的自定义货币格式