优点:可以接收任意json格式的数据,不需要像创建DTO那样子进行字段包含
比如:
{
"type": "R_AR_AM",
"entity": [
{
"appId": "1333374486034088888",
"arId": "2321111111111111",
"arCode": "388977441860161537",
"amId": "2022083",
"amCode": "/config/dict/Import",
"amType": 1
},
{
"appId": "1333374486034088888",
"arId": "2022",
"arCode": "388977441860161537",
"amId": "11",
"amCode": "55",
"amType": 0
}
],
"action": "add",
"serialNum": "8cb575be4fe042a9ae1a700ef1c1bd6d"
}
对应
JSONObject常用方法:
- 将json字符串转换成对象或集合,并获取字段数值
JSONObject jsonObject= body.getJSONObject("对象名");//转换成对象
//从该对象中获取String变量
String string = jsonObject.getString("字段名");
//从该对象中获取Integer变量
Integer integer= jsonObject.getInteger("字段名");
//从该对象中获取集合
JSONArray dataResultList = jsonObject.getJSONArray("集合名称");
- JSONArry根据下标获取JSONObject
JSONObject jsonObject = jsonArray.getJSONObject(0);
- 循环遍历JSONArry
for (int i = 0; i < list.size(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
GsmsRolePermissionEntity entity = new GsmsRolePermissionEntity();
entity.setRoleId(Integer.parseInt(object.getString("arId")));
entity.setPermissionId(Integer.parseInt(object.getString("amId")));
entity.setDataScope(9);
roleDsl.addRolePermission(entity);
}