{"status":"ACTIVE","accounts":{"email":"email@gmail.com","name":"Test"}}
一些更多的背景,这主要是为了测试一个restendpoint。在我的测试中,我使用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”)。
如果Gson与Jackson类似(我假设是这样),您必须首先从根对象中获取JSONObject
“Accounts”,然后删除成员“email”,例如:
jsonObj.getAsJsonObject("accounts").remove("email");
或者--也可能是首选的方式--将json对象映射到一个POJO(一个具有“status”、“accounts”和“accounts”字段的对象将指向另一个POJO),导航到accounts-POJO并在那里将“email”设置为null。然后将根POJO重新格式化为JSON,并应用一个省略具有空值的字段的设置。
编辑(在评论中回答问题):
问题内容: 我有如下的JsonObject 如何通过使用Java中的方法从JsonObject中删除Json密钥“电子邮件”及其值 JsonObj.removev为我工作,如果我需要删除状态键 更新资料 更多背景信息,这主要是为了测试休息点。在我的测试中,我使用Builder模式创建了与有效负载匹配的Java对象,然后使用GsonBuilder像这样隐蔽了Json 如果需要删除我使用的必填字段,请
服务器收到了以第二个JSON为主体的请求,这是令人失望的。我注意到键被自动添加到对象中。 有没有人知道我该怎么解决这个问题?
问题内容: 我有一个来自服务器的JSON字符串,它看起来像这样: 我的任务是获取“ term_id”和“ name”字段的值。我曾经使用以下代码从当前JSONObject中获取“类别”对象: 和看起来像这样: 但是在那之后,我不知道如何获得这些领域。有什么方法可以从JSONObject获取所有JSONObject子级吗? 如果您有源代码或可以举一个例子,请与我分享。 问题答案: 在这里,您可以检索
大家早上好。我有以下代码: 问题是,uri变量被分配给RestTemplate构造函数为,也就是说,它从代码变量中删除初始的。
问题内容: 我正在使用net.sf.json.JSONObject创建一些要发送到前端应用程序的数据,并且正在与之交互的代码不喜欢其在每个字段名称中添加引号的方式。 例如: 产生字符串{“ JSON”:“ Hello,World”}。 我希望它返回的是{JSON:“ Hello,World”}-在“ JSON”周围没有引号。我该怎么做才能做到这一点? 问题答案: 在javadoc中说: toStr
在我的JPA POJO的中,我遇到了删除一些JSONObject键的问题。我只是不想让它们显示在中,同时将它们保存在POJO中,这样我就可以使用它们了。我可以设法在父实体中删除它们,但在子实体中无法这样做。下面是我在父实体中的实现。 我试图在我所有的子实体中做同样的事情。当我调用toString()时,仅在父实体中消失。它们仍然存在于儿童中。如何删除子实体中的一些键?谢谢你。