Невозможно распечатать все не пустые значения во вложенном json, используя java - PullRequest
0 голосов
/ 21 марта 2019

Моя цель - печатать Json только с непустыми объектами. Как и на прилагаемой картинке, у меня есть пустые объекты, которые я не хочу их печатать. Неважно, какую библиотеку выбрать: Гсон, Джексон и т. Д. enter image description here

Попробовал много комбинаций, но не работал

Моя структура данных:

Map<AWSRegion, List<SecurityGroupDiff>> listEntry...

public class SecurityGroupDiff  {

  @JsonInclude(Include.NON_EMPTY) ... // on all fields/objects
    private String groupId;
    private String groupName;
    private String vpcId;
    private String owner;
    private String type;

    private List<IPPermissionDiff> ipPermissionDiffs;

}

Tryid до сих пор:

private static final ObjectMapper MAPPER = new ObjectMapper().
                    setSerializationInclusion(Include.NON_NULL).setSerializationInclusion(Include.NON_EMPTY).setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);


    MAPPER.writerWithDefaultPrettyPrinter()
                    .writeValueAsString(listEntry)

результат все тот же ...

{
  "CANADA" : [ { }, { }, { }, { }, {
    "ipPermissionDiffs" : [ { }, { }, { }, { } ]
  }, { }, { }, { } ],
  "ASIA_SIDNEY" : [ {
    "ipPermissionDiffs" : [ { }, { }, { }, { }, { } ]
  }, { }, { }, { }, { }, { }, { }, {
    "ipPermissionDiffs" : [ { }, { }, { }, { } ]
  }, { } ],
  "EU" : [ { }, { }, { }, { }, { }, { }, { }, { }, {
    "ipPermissionDiffs" : [ { }, { }, { }, { }, { }, { }, { } ]
  }, { } ]
}

спасибо

...