简单记录一下,有时候Java对于json字符处理还是很不错的,下面Log类对应的json,一看就很清楚了
[{
"bizId": "0048858b-936f-4e8f-9612-8f25d8cd63a
"methodName": null,
"params": {
"0": "123,34,112,97,103,101,34,58,48,44,34,114,111,119,115,34,58,48,44,34,115,105,100,120,34,58,110,117,108,108,44,34,115,111,114,100,34,58,110,117,108,108,44,34,105,115,83,101,97,114,99,104,34,58,110,117,108,108,44,34,111,102,102,83,101,116,34,58,48,44,34,114,117,108,101,115,34,58,91,93,125",
"1": "123,34,108,111,103,105,110,85,115,101,114,34,58,110,117,108,108,44,34,99,108,105,101,110,116,73,112,34,58,110,117,108,108,44,34,111,112,101,114,97,116,101,84,105,109,101,34,58,34,50,48,50,48,45,49,48,45,50,57,32,49,48,58,51,48,58,48,48,34,125"
}
}]
Log data = itfConfigService.getItfLogParam(12);
//json对象的集合
JSONArray obj =JSONArray.fromObject(data.getLogParam());
//json对象的集合中的第一个
JSONObject itemObj=(JSONObject)obj.get(0);
//json对象的 params 的值,转为对象
JSONObject itemObj2= JSONObject.fromObject(itemObj.get("params"));
// 获取params 对象中的 Name 的值
String str0=String.valueOf(itemObj2.get("Name"));
// 修改params 对象中的 Name 的值,并同步到对象中
itemObj2.put("Name", Name+"aa");
// 同步到对象中
itemObj.put("params",itemObj2);
// 修改对象字段中的 params
data.setLogParam(obj.toString());
//LogParam 值为Json字符串