使用GSON从json数组中删除空对象

dohp0rv5  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(277)
  1. {
  2. "ChangeRequests": [
  3. {}
  4. ]
  5. }

使用Gson从JSON数组中删除空模型。因为它在列表中创建一个模型,所以使用Gson将模型中的所有值都设置为空

  1. data class TestRequest(
  2. @SerializedName("ChangeRequests")
  3. val changeRequests: List<ChangeRequest>

  1. val result = Gson().fromJson(jsonString,TestRequest::class.java)
ergxz8rk

ergxz8rk1#

简单代码:对我很有效!

  1. Type type = new TypeToken<Map<String, Object>>() {}.getType();
  2. Map<String, Object> data = new Gson().fromJson(jsonString, type);
  3. for (Iterator<Map.Entry<String, Object>> it = data.entrySet().iterator();
  4. it.hasNext();) {
  5. Map.Entry<String, Object> entry = it.next();
  6. if (entry.getValue() == null) {
  7. it.remove();
  8. } else if (entry.getValue().getClass().equals(ArrayList.class)) {
  9. if (((ArrayList<?>) entry.getValue()).size() == 0) {
  10. it.remove();
  11. }
  12. }
  13. }
  14. String json = new GsonBuilder().setPrettyPrinting().create().toJson(data);
  15. System.out.println(json);
展开查看全部

相关问题