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.