我希望能够在测试中比较两个JSON字符串,但忽略空字段。预期:
{ "field1":"value1"}
实际和匹配:
{ "field1":"value1", "field2":null}
实际且不匹配:
{ "field1":"value1", "field2":"non-null"}
btqmn9zl1#
我建议去掉空值,然后再比较。google GSON在序列化时默认忽略空值。JacksonObjectMapper也可以通过一些附加设置来完成此操作。去除json中的null的最直接(不一定是最合适的)方法如下:
Gson gson = new Gson(); String jsonString = "{ \"field1\":\"value1\", \"field2\":null}"; String jsonStringWithoutNulls = gson.toJson(gson.fromJson(jsonString, JsonObject.class)); //results in {"field1":"value1"}
1条答案
按热度按时间btqmn9zl1#
我建议去掉空值,然后再比较。google GSON在序列化时默认忽略空值。
JacksonObjectMapper也可以通过一些附加设置来完成此操作。
去除json中的null的最直接(不一定是最合适的)方法如下: