JSONArray JSONObject删除指定键值对

时间:2021-03-14 19:17:52

因为业务需求,我需要给客户端提供json格式的字符串,我以前都是用springmvc自带的注解@ResponseBody直接转换json,查询是list就是json数组,是object就是json对象。但是我发现这样不灵活,因为对象里可能有多个字段,但是客户端不需要那么多,并且我还用了hibernate,很不灵活,所有的字段都转换成json的键值对返回到客户端
了。今天只要介绍net.sf.json.JSONArray和net.sf.json.JSONObject的删除指定键值对的方法。

json对象删除指定的键:

JSONObject jsonObject = JSONObject.fromObject(map);

JSONObject jsonObject2 = jsonObject.discard("name1"); name1为指定的键。

json数组删除指点的对象:

JSONArray jsonArray = JSONArray.fromObject(list);

JSONArray jsonArray2 = jsonArray.discard(0);

json数据删除对象里指点的键:

JSONArray jsonArray = JSONArray.fromObject(list);
JSONArray jsonArray1 = new JSONArray();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject) jsonArray.get(i);
JSONObject jsonObject2 = jsonObject.discard("name1");
jsonArray1.add(jsonObject2);
}