ich meine JSON-Bibliothek von org.json nach Jackson zu ändern und ich möchte den folgenden Code migrieren:Jackson, wie JsonNode zu ArrayNode ohne Casting zu transformieren?
JSONObject datasets = readJSON(new URL(DATASETS));
JSONArray datasetArray = datasets.getJSONArray("datasets");
Jetzt in Jackson ich folgendes haben:
ObjectMapper m = new ObjectMapper();
JsonNode datasets = m.readTree(new URL(DATASETS));
ArrayNode datasetArray = (ArrayNode)datasets.get("datasets");
aber ich weiß nicht Wie die Besetzung dort, gibt es die Möglichkeit für eine ClassCastException
? Gibt es eine Methode, die getJSONArray
in org.json
entspricht, so dass ich richtige Fehlerbehandlung habe, falls es kein Array ist?
Leider kann ich das vollständige Mapping nicht verwenden, da die Daten keine Feldnamen fixieren. –
Wenn die Feldnamen aus einer begrenzten Menge stammen, möchten Sie möglicherweise eine Klasse definieren, die alle davon enthält, und die Funktion "FAIL_ON_UNKNOWN_PROPERTIES" des Deserializers verwenden, um Nullen in den nicht verwendeten Feldern zu erhalten. Aber das ist natürlich nur eine Option, wenn der Feldname relativ begrenzt ist. – fvu
Hm Ich denke, dass diese Lösung nicht in meinem Fall am besten passt, aber ich werde mich daran erinnern, falls ich ein Problem mit einem begrenzten Satz habe, der im Voraus bekannt ist! –