Jackson - Marshall String do JsonNode

1. Prehľad

Tento rýchly návod ukáže, ako na to použite Jackson 2 na prevod reťazca JSON na a JsonNode (com.fasterxml.jackson.databind.JsonNode).

Ak chcete kopať hlbšie a učiť sa ďalšie super veci, ktoré môžete s Jacksonom 2 robiť - pokračujte ďalej k hlavnému výukovému programu Jackson.

2. Rýchla analýza

Veľmi jednoducho na analýzu reťazca JSON potrebujeme iba ObjectMapper:

@ Test public void whenParsingJsonStringIntoJsonNode_thenCorrect () vyvolá JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; ObjectMapper mapovač = nový ObjectMapper (); JsonNode actualObj = mapper.readTree (jsonString); assertNotNull (actualObj); }

3. Analýza na nízkej úrovni

Ak z nejakého dôvodu vy treba ísť na nižšiu úroveň nasledujúci príklad odhaľuje: JsonParser zodpovedný za skutočnú analýzu reťazca:

@Test public void givenUsingLowLevelApi_whenParsingJsonStringIntoJsonNode_thenCorrect () hodí JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; ObjectMapper mapovač = nový ObjectMapper (); JsonFactory factory = mapper.getFactory (); Analyzátor JsonParser = factory.createParser (jsonString); JsonNode actualObj = mapovač.readTree (syntaktický analyzátor); assertNotNull (actualObj); }

4. Pomocou JsonNode

Po analýze súboru JSON na objekt JsonNode môžeme pracovať s stromovým modelom Jackson JSON:

@Test public void givenTheJsonNode_whenRetrievingDataFromId_thenCorrect () vyvolá JsonParseException, IOException {String jsonString = "{" k1 ":" v1 "," k2 ":" v2 "}"; ObjectMapper mapovač = nový ObjectMapper (); JsonNode actualObj = mapper.readTree (jsonString); // Keď JsonNode jsonNode1 = actualObj.get ("k1"); assertThat (jsonNode1.textValue (), equalTo ("v1")); }

5. Záver

Tento článok je ilustrovaný ako analyzovať reťazce JSON Strings do Jacksona JsonNode Model umožniť štruktúrované spracovanie objektu JSON.

Implementácia všetkých týchto príkladov a útržkov kódu nájdete v mojom projekte github - toto je projekt založený na Eclipse, takže by malo byť ľahké ho importovať a spustiť tak, ako je.


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