Jackson - Marshall String zu JsonNode
1. Überblick
Dieses kurze Tutorial zeigt, wie manuse Jackson 2 to convert a JSON String to a JsonNode (com.fasterxml.jackson.databind.JsonNode) macht.
Wenn Sie tiefer graben undother cool things you can do with the Jackson 2 lernen möchten, gehen Sie zuthe main Jackson tutorial.
2. Schnelles Parsen
Ganz einfach, um den JSON-String zu analysieren, benötigen wir nur einObjectMapper:
@Test
public void whenParsingJsonStringIntoJsonNode_thenCorrect()
throws JsonParseException, IOException {
String jsonString = "{"k1":"v1","k2":"v2"}";
ObjectMapper mapper = new ObjectMapper();
JsonNode actualObj = mapper.readTree(jsonString);
assertNotNull(actualObj);
}
3. Low Level Parsing
Wenn Sie aus irgendeinem Grundneed to go lower level als das haben, zeigt das folgende Beispiel dieJsonParser, die für das eigentliche Parsen des Strings verantwortlich sind:
@Test
public void givenUsingLowLevelApi_whenParsingJsonStringIntoJsonNode_thenCorrect()
throws JsonParseException, IOException {
String jsonString = "{"k1":"v1","k2":"v2"}";
ObjectMapper mapper = new ObjectMapper();
JsonFactory factory = mapper.getFactory();
JsonParser parser = factory.createParser(jsonString);
JsonNode actualObj = mapper.readTree(parser);
assertNotNull(actualObj);
}
4. Verwenden SieJsonNode
Nachdem der JSON in ein JsonNode-Objekt analysiert wurde, können wirwork with the Jackson JSON Tree Model:
@Test
public void givenTheJsonNode_whenRetrievingDataFromId_thenCorrect()
throws JsonParseException, IOException {
String jsonString = "{"k1":"v1","k2":"v2"}";
ObjectMapper mapper = new ObjectMapper();
JsonNode actualObj = mapper.readTree(jsonString);
// When
JsonNode jsonNode1 = actualObj.get("k1");
assertThat(jsonNode1.textValue(), equalTo("v1"));
}
5. Fazit
Dieser Artikel illustriertehow to parse JSON Strings into the Jackson JsonNode model, um eine strukturierte Verarbeitung des JSON-Objekts zu ermöglichen.
Die Implementierung all dieser Beispiele und Codefragmentecan be found in my github project - dies ist ein Eclipse-basiertes Projekt, daher sollte es einfach zu importieren und auszuführen sein, wie es ist.