JSON是一種常用的數據交換格式,Java中提供了很多解析JSON的庫,如Gson、Fastjson等。但是在實際應用中,有時需要修改JSON中的某個key,這就需要對JSON進行修改操作。
下面是一個基本的JSON字符串:
{ "name": "Tom", "age": 18 }
假如我們需要把key為“name”的鍵改為“username”,可以使用下面的Java代碼:
import com.alibaba.fastjson.JSONObject; import java.util.Map; public class JsonUtil { public static JSONObject updateKey(JSONObject json, String oldKey, String newKey) { Mapmap = json.getInnerMap(); Object value = map.remove(oldKey); if (value != null) { map.put(newKey, value); } return json; } } //使用示例 String jsonStr = "{\"name\": \"Tom\",\"age\": 18}"; JSONObject json = JSONObject.parseObject(jsonStr); json = JsonUtil.updateKey(json, "name", "username"); System.out.println(json.toString()); //輸出:{"age":18,"username":"Tom"}
在這個示例中,我們使用Fastjson庫來解析JSON字符串,并將其轉換成JSONObject對象。然后,我們定義了一個updateKey方法來實現修改key的功能。該方法接受三個參數:待修改的JSONObject對象、要修改的舊鍵名和新鍵名。我們首先通過getInnerMap方法獲取JSONObject對象的內部Map實例,然后使用remove方法刪除舊鍵名,再使用put方法添加新鍵名。最后,返回修改后的JSONObject對象。
使用上述代碼,我們成功把JSON字符串中的“name”鍵修改為“username”。