JSON Java-ban

Jackson Top

Most jelentettem be az újat Tanulj tavaszt tanfolyam, amelynek középpontjában az 5. tavasz és a tavaszi bakancs 2 alapjai állnak:

>> ELLENŐRIZZE A FOLYAMATOT

1. Áttekintés

A JSON-adatok Java-ban történő kezelése egyszerű lehet, de - mint a Java legtöbbje - rengeteg lehetőség és könyvtár közül választhatunk.

Ennek az útmutatónak megkönnyítenie kell a választást, és meg kell adnia az ökoszisztéma mostani megértését. Megbeszéljük a Java leggyakoribb JSON-feldolgozó könyvtárait:

  • Jackson
  • Gson
  • json-io
  • Genson

Minden könyvtár egyszerű felépítését követjük - először néhány hasznos forrás az induláshoz (mind itt, mind a Baeldungon, mind a külső). Akkor átmegyünk egy alap kód példa, csak azért, hogy lássam, hogyan is néz ki valójában a könyvtárral való munka.

2. Népszerűség és alapstatisztika

Először is kezdjünk néhány statisztikával, mint az egyes könyvtárak népszerűségének megalapozója:

2.1. Jackson

  • Maven Használat: data-bind (2362), mag (1377)
  • Github csillagok: 1457
  • Github Forks: 585

2.2. Gson

  • Maven használat: 1588
  • Github csillagok: 2079
  • Github Forks: 471

2.3. json-io

  • Maven használat: 11
  • Github csillagok: 129
  • Github Forks: 40

2.4. Genson

  • Maven használat: 8
  • Github csillagok: 67
  • Github Forks: 15

3. Jackson

Ezután vessünk egy pillantást ezek közül a legnépszerűbbre - Jacksonra. A Jackson egy többcélú Java könyvtár JSON adatok feldolgozására.

3.1. Hasznos források

Íme néhány hivatalos forrás a könyvtár számára:

  • Hivatalos Jackson wiki
  • Jackson a Githubon

Baeldungon:

  • Jackson bemutató
  • Jackson randevú
  • Jackson JSON nézetek
  • Útmutató a Jackson kommentárokhoz
  • Jackson kivételek - problémák és megoldások
  • Jackson - Döntse el, hogy mely mezők lesznek sorosítottak / deserializáltak
  • Jackson - Kétirányú kapcsolatok
  • Jackson - Egyéni Serializer
  • Jackson - egyedi deserializer

Egyéb érdekes feliratok:

  • Jackson JSON Processing API Java példaprogramban
  • Jackson - ObjectMapper
  • Jackson 2 - Java Object konvertálása JSON-ba / vissza

3.2. Maven-függőség

A könyvtár használatához - íme a Maven-függőség, amelyet hozzáadhat a könyvtárához pom.xml:

 com.fasterxml.jackson.core jackson-databind $ {jackson.version} 

Vegye figyelembe, hogy a Jackson legújabb verziója jelenleg az 2.6.3.

3.3. Egyszerű példa Jacksonnal

Most nézzük meg, hogyan kell Jacksonot használni egy egyszerű példában:

@Test public void whenSerializeAndDeserializeUsingJackson_thenCorrect () dobja az IOException-t {Foo foo = new Foo (1, "first"); ObjectMapper mapper = új ObjectMapper (); Karakterlánc jsonStr = mapper.writeValueAsString (foo); Foo eredmény = mapper.readValue (jsonStr, Foo.class); assertEquals (foo.getId (), eredmény.getId ()); }

Vegye figyelembe, hogy:

  • ObjectMapper.writeValueAsString () az Object to JSON karakterlánc sorosítására szolgál.
  • ObjectMapper.readValue () a JSON karakterlánc Java Object objektummá történő deserializálására szolgál.
  • Minta JSON kimenet:
{"id": 1, "név": "első"}

4. Gson

A Gson a következő Java JSON könyvtár, amelyet meg fogunk nézni.

4.1. Hasznos források

Íme néhány hivatalos forrás a könyvtár számára:

  • Gson a Githubon
  • Gson felhasználói kézikönyv

Baeldungon:

  • Gson sorosítási szakácskönyv
  • Gson deserializációs szakácskönyv

Egyéb érdekes feliratok:

  • Gson kirekesztési stratégia
  • Gson Custom Serializer / Deserializer
  • Java Gson + JSON bemutató példákkal

4.2. Maven-függőség

 com.google.code.gson gson $ {gson.version} 

Ne feledje, hogy a Gson mostani legújabb verziója az 2.4.

4.3. Egyszerű példa Gson-nal

Itt van egy egyszerű példa arra, hogy tisztázza, hogyan használható a Gson a JSON sorosítására / desrializálására:

@Test public void whenSerializeAndDeserializeUsingGson_thenCorrect () {Gson gson = new Gson (); Foo foo = új Foo (1, "első"); Karakterlánc jsonStr = gson.toJson (foo); Foo eredmény = gson.fromJson (jsonStr, Foo.class); assertEquals (foo.getId (), eredmény.getId ()); }

Vegye figyelembe, hogy:

  • Gson.toJson () az Object JSON sorosítására szolgál
  • Gson.-tól Json () a JSON Java Object-re való deszializálására szolgál

5. Json-io

A Json-io egy egyszerű Java könyvtár a JSON sorosítására / deserializálására.

5.1. Hasznos források

Íme néhány hivatalos forrás a könyvtár számára:

  • json-io a Google Code-on
  • json-io a Githubon

5.2. Maven-függőség

 com.cedarsoftware json-io $ {json-io.version} 

Vegye figyelembe, hogy a json-io legújabb verziója jelenleg az 4.1.9.

5.3. Egyszerű példa a json-io-val

Most nézzünk meg egy egyszerű példát a json-io használatára:

@Test public void whenSerializeAndDeserializeUsingJsonio_thenCorrect () {Foo foo = new Foo (1, "first"); Karakterlánc jsonStr = JsonWriter.objectToJson (foo); Foo eredmény = (Foo) JsonReader.jsonToJava (jsonStr); assertEquals (foo.getId (), eredmény.getId ()); }

Vegye figyelembe, hogy:

  • JsonWriter.objectToJson () az Object JSON sorosítására szolgál.
  • JsonReader.jsonToJava () a Json Java Object-ként való deszerializálására szolgál.
  • Minta JSON kimenet:
{"@type": "org.baeldung.Foo", "id": 1, "név": "első"}

6. Genson

A Genson egy Java és Scala to JSON konvertáló könyvtár, amely teljes adatbázist és streaminget biztosít.

6.1. Hasznos források

Íme néhány hivatalos forrás a könyvtár számára:

  • A Genson hivatalos honlapja
  • Genson a Githubon
  • Genson felhasználói kézikönyv
  • Genson JSON formátum a bájt tömbökhöz

6.2. Maven-függőség

 com.owlike genson $ {genson.version} 

Ne feledje, hogy a Genson legújabb verziója jelenleg az 1.3.

6.3. Egyszerű példa Gensonnal

Íme egy egyszerű példa a könyvtárral való együttműködésre:

@Test public void whenSerializeAndDeserializeUsingGenson_thenCorrect () {Genson genson = new Genson (); Foo foo = új Foo (1, "első"); Karakterlánc jsonStr = genson.serialize (foo); Foo eredmény = genson.deserialize (jsonStr, Foo.class); assertEquals (foo.getId (), eredmény.getId ()); }

Vegye figyelembe, hogy:

  • Genson.serialize () az Object JSON sorosítására szolgál
  • Genson.desrialize () a JSON Java Object-ként való deszerializálására szolgál

7. Következtetés

Ebben a gyors áttekintő cikkben megismerhettük a Java leggyakoribb JSON-feldolgozó könyvtárait.

Jackson alsó

Most jelentettem be az újat Tanulj tavaszt tanfolyam, amelynek középpontjában az 5. tavasz és a tavaszi bakancs 2 alapjai állnak:

>> ELLENŐRIZZE A FOLYAMATOT