我有以下类似的JsonObject
{"status":"ACTIVE","accounts":{"email":"email@gmail.com","name":"Test"}}
如何使用类似jsonObj.remove("email")
的方式在Java中从JsonObject中删除Json键"email"及其值?如果我需要删除状态键,则JsonObj.remove工作正常,如
jsonObj.remove("status")
。更新
更多背景信息, 这主要是用于测试REST端点。在我的测试中,我使用Builder模式创建了与有效负载匹配的Java对象,然后使用GsonBuilder将其转换为Json。
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
public class JsonConvertor() {
public static JsonObject convertToJsonObject(Object payload) {
GsonBuilder builder = new GsonBuilder();
return (JsonObject) builder.setFieldNamingPolicy(FieldNamingPolicy.Policy).
create().toJsonTree(payload);
}}
如果我需要删除必填字段,我会在上述函数创建的Json对象上使用JsonObj.remove("key")。