Jackson - Marshall húr a JsonNode-hoz

1. Áttekintés

Ez a gyors bemutató megmutatja, hogyan kell a Jackson 2 segítségével konvertálhat egy JSON karakterláncot a-ra JsonNode (com.fasterxml.jackson.databind.JsonNode).

Ha mélyebbre akarsz ásni és tanulni egyéb jó dolgokat tehetsz a Jackson 2-vel - folytassa a Jackson fő oktatóanyaggal.

2. Gyors elemzés

Nagyon egyszerűen a JSON karakterlánc elemzéséhez csak egy ObjectMapper:

@Test public void whenParsingJsonStringIntoJsonNode_thenCorrect () dobja a JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; ObjectMapper mapper = új ObjectMapper (); JsonNode actualObj = mapper.readTree (jsonString); assertNotNull (ténylegesObj); }

3. Alacsony szintű elemzés

Ha valamilyen oknál fogva te alacsonyabb szintre kell menni annál a következő példa kiteszi a JsonParser a karakterlánc tényleges elemzéséért felelős:

@Test public void givenUsingLowLevelApi_whenParsingJsonStringIntoJsonNode_thenCorrect () dobja JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; ObjectMapper mapper = új ObjectMapper (); JsonFactory gyár = mapper.getFactory (); JsonParser parser = gyár.createParser (jsonString); JsonNode actualObj = mapper.readTree (elemző); assertNotNull (ténylegesObj); }

4. A JsonNode

Miután a JSON elemzésre kerül egy JsonNode objektummá, megtehetjük dolgozzon a Jackson JSON fa modellel:

@Test public void givenTheJsonNode_whenRetrievingDataFromId_thenCorrect () dobja JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; ObjectMapper mapper = új ObjectMapper (); JsonNode actualObj = mapper.readTree (jsonString); // Amikor JsonNode jsonNode1 = actualObj.get ("k1"); assertThat (jsonNode1.textValue (), equalTo ("v1")); }

5. Következtetés

Ez a cikk szemlélteti hogyan lehet a JSON húrokat elemezni a Jacksonba JsonNode modell hogy lehetővé tegye a JSON objektum strukturált feldolgozását.

Mindezen példák és kódrészletek megvalósítása megtalálható a github projektemben - ez egy Eclipse alapú projekt, ezért könnyen importálhatónak és futtathatónak kell lennie.


$config[zx-auto] not found$config[zx-overlay] not found