Jackson - Genel Bakış

Jackson, java nesnelerini JSON'a ve tam tersine serileştirmek için basit bir java tabanlı kitaplıktır.

Özellikleri

  • Easy to use. - jackson API, yaygın olarak kullanılan kullanım durumlarını basitleştirmek için yüksek düzeyde bir cephe sağlar.

  • No need to create mapping. - jackson API, serileştirilecek nesnelerin çoğu için varsayılan eşleme sağlar.

  • Performance. - Jackson oldukça hızlıdır ve düşük bellek ayak izine sahiptir ve büyük nesne grafikleri veya sistemleri için uygundur.

  • Clean JSON. - jackson, okunması kolay, temiz ve kompakt bir JSON sonuçları oluşturur.

  • No Dependency. - jackson kütüphanesi jdk dışında herhangi bir kütüphane gerektirmez.

  • Open Source - jackson kütüphanesi açık kaynak kodludur ve kullanımı ücretsizdir.

JSON'u işlemenin üç yolu

Jackson, JSON'u işlemek için üç alternatif yol sağlar

  • Streaming API- JSON içeriğini ayrık olaylar olarak okur ve yazar. JsonParser verileri okurken, JsonGenerator verileri yazar. Üçü arasında en güçlü yaklaşımdır ve en düşük ek yüke sahiptir ve okuma / yazma işlemlerinde en hızlıdır. XML için Stax ayrıştırıcısının Analogus'udur.

  • Tree Model- JSON belgesinin bellek içi ağaç gösterimini hazırlar. ObjectMapper, JsonNode düğümlerinin ağacını oluşturur. En esnek yaklaşımdır. XML için DOM ayrıştırıcısına benzer.

  • Data Binding - özellik erişimcisini veya ek açıklamaları kullanarak JSON'u POJO'ya (Düz Eski Java Nesnesi) ve POJO'dan dönüştürür. İki tiptedir.

    • Simple Data Binding - JSON'u Java Haritaları, Listeler, Dizeler, Sayılar, Booleanlar ve boş nesnelere ve bunlardan dönüştürür.

    • Full Data Binding - JSON'u herhangi bir JAVA türüne ve türünden dönüştürür.

    ObjectMapper, her iki veri bağlama türü için JSON okur / yazar. Veri Bağlama en uygun yoldur ve XML için JAXB ayrıştırıcısına benzer.