Jackson - Marshallov niz do JsonNodea

1. Pregled

Ovaj brzi vodič pokazat će kako koristite Jackson 2 za pretvorbu JSON Stringa u JsonNode (com.fasterxml.jackson.databind.JsonNode).

Ako želite dublje kopati i učiti druge cool stvari koje možete raditi s Jacksonom 2 - krenite prema glavnom Jacksonovom vodiču.

2. Brzo raščlanjivanje

Vrlo jednostavno, za raščlanjivanje JSON niza potreban nam je samo ObjectMapper:

@Test public void whenParsingJsonStringIntoJsonNode_thenCorrect () baca JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; Mapa ObjectMapper = novi ObjectMapper (); JsonNode actualObj = mapper.readTree (jsonString); assertNotNull (actualObj); }

3. Raščlanjivanje na niskoj razini

Ako iz nekog razloga vi trebate spustiti nižu razinu od toga, sljedeći primjer izlaže JsonParser odgovoran sa stvarnim raščlanjivanjem niza:

@Test javna praznina givenUsingLowLevelApi_whenParsingJsonStringIntoJsonNode_thenCorrect () baca JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; Mapa ObjectMapper = novi ObjectMapper (); JsonFactory tvornica = mapper.getFactory (); JsonParser parser = factory.createParser (jsonString); JsonNode actualObj = mapper.readTree (parser); assertNotNull (actualObj); }

4. Korištenje JsonNode

Nakon što se JSON raščlani u JsonNode objekt, možemo raditi s Jackson JSON Tree Modelom:

@Test javna praznina givenTheJsonNode_whenRetrievingDataFromId_thenCorrect () baca JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; Mapa ObjectMapper = novi ObjectMapper (); JsonNode actualObj = mapper.readTree (jsonString); // Kada je JsonNode jsonNode1 = actualObj.get ("k1"); assertThat (jsonNode1.textValue (), jednakTo ("v1")); }

5. Zaključak

Ovaj članak ilustriran kako raščlaniti JSON žice u Jacksonu JsonNode model kako bi se omogućila strukturirana obrada JSON objekta.

Implementacija svih ovih primjera i isječaka koda mogu se naći u mom github projektu - ovo je projekt zasnovan na Eclipseu, pa bi ga trebalo lako uvesti i pokrenuti kakav jest.


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