给你这样的数据,[{"aaa":"11","ccc":"33","bbb":"22"},{"aaa":"44","ccc":"66","bbb":"55"},{"aaa":"77","ccc":"99","bbb":"88"}],java实现如何把数组中每个map的key值更改
时间: 2023-09-03 21:07:07 浏览: 169
Angular路由简单学习
你可以使用循环遍历数组中的每个map,然后在每个map中使用remove()方法删除原有的key-value键值对,再使用put()方法添加新的key-value键值对。
下面是一个示例代码:
```java
JSONArray jsonArray = new JSONArray("[{\"aaa\":\"11\",\"ccc\":\"33\",\"bbb\":\"22\"},{\"aaa\":\"44\",\"ccc\":\"66\",\"bbb\":\"55\"},{\"aaa\":\"77\",\"ccc\":\"99\",\"bbb\":\"88\"}]");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (jsonObject.has("aaa")) {
String value = jsonObject.getString("aaa");
jsonObject.remove("aaa");
jsonObject.put("new_aaa", value);
}
if (jsonObject.has("bbb")) {
String value = jsonObject.getString("bbb");
jsonObject.remove("bbb");
jsonObject.put("new_bbb", value);
}
if (jsonObject.has("ccc")) {
String value = jsonObject.getString("ccc");
jsonObject.remove("ccc");
jsonObject.put("new_ccc", value);
}
}
System.out.println(jsonArray.toString());
```
输出结果:
```
[{"new_ccc":"33","new_bbb":"22","new_aaa":"11"},{"new_ccc":"66","new_bbb":"55","new_aaa":"44"},{"new_ccc":"99","new_bbb":"88","new_aaa":"77"}]
```
在这个示例中,我们使用了JSON库将输入数据转换为JSONArray对象。然后,我们使用循环遍历数组中的每个JSONObject对象,检查是否存在aaa、bbb和ccc键。如果存在,则删除这些键值对并添加新的键值对new_aaa、new_bbb和new_ccc。最后,我们打印出更新后的JSONArray对象。
阅读全文