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.