Json Objekt leeres Array beim lesen

Hallo zusammen,

ich habe eine externe API angebunden, die mir ein leeres Array gibt, wenn die "Unit" nicht hinterlegt ist.
Wenn ich aber eine Unit übertragen will, muss ich ein Objekt senden, kein Array.

Kann mir jemand sagen wie ich damit umgehen kann? Wenn ich eine List mache, bekomme ich beim lesen keinen Fehler wenn UNIT leer ist. Mach ich aber keine List, bekomme ich (im Falle dass Unit null ist) eine Fehlermeldung.

Hier mal die json:
Unit ist nicht hinterlegt, die API sendet:
JSON:
 "unit": [],
     "unit_price": {...
Wenn ich aber eine unit hinterlegen will, muss ich wie folgt senden:
JSON:
 "unit": {
        "name": "meinName",
    },
    "unit_price": {....


Java:
@JsonProperty("unit")
private List<Unit> unitList =new ArrayList<>();

@JsonProperty("unit")
private  Unit unit;
 
Hm hab doch nochmal was hierzu. Es kann nun sein, dass UNIT leer ist (dann kommt leeres Array) oder aber es ist nicht leer, dann kommt das Objekt als nicht Array. Wie kann ich das nun handlen?
 
bin auch der Meinung, dass die API das falsch ausgibt. Ruf morgen beim Anbieter an, sonst mach ich es wie folgt.Sollte klappen

Code:
  ObjectMapper mapper = new ObjectMapper();
            mapper.enable(DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT);

            List<MyObject> myObjects = mapper.readValue(response.getBody(), new TypeReference<List<MyObject>>() {
            });
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben