json字符串去除指定key后生成map对象
时间: 2024-01-20 15:02:15 浏览: 100
好的,这个问题我可以回答。您可以使用 JSON 库中的一些方法,例如 Gson 库中的 JsonElement.getAsJsonObject、JsonObject.remove 和 JsonObject.entrySet 来实现。具体实现如下:
```java
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// 原始 JSON 字符串
String jsonStr = "{\"name\":\"小明\", \"age\":12, \"gender\":\"男\"}";
// 需要删除的 key
String key = "age";
// 将 JSON 字符串转为 JsonObject 对象
Gson gson = new Gson();
JsonElement jsonElement = gson.fromJson(jsonStr, JsonElement.class);
JsonObject jsonObject = jsonElement.getAsJsonObject();
// 删除指定 key
jsonObject.remove(key);
// 将 JsonObject 对象转为 Map 对象
Map<String, Object> map = new HashMap<>();
for (Map.Entry<String, JsonElement> entry : jsonObject.entrySet()) {
String k = entry.getKey();
Object v = entry.getValue();
map.put(k, v);
}
// 打印输出结果
System.out.println(map);
}
}
```
这段代码会将原始 JSON 字符串 `{"name":"小明", "age":12, "gender":"男"}`,去除掉 `age` 这个 key 后,生成以下 map 对象:
```
{name=小明, gender=男}
```
希望这个回答能够帮到您。
阅读全文