Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menukar Rentetan JSON kepada Peta menggunakan Jackson di Jawa?

Bagaimana untuk Menukar Rentetan JSON kepada Peta menggunakan Jackson di Jawa?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 21:03:03637semak imbas

How to Convert a JSON String to a Map<String, String> menggunakan Jackson di Jawa? 
menggunakan Jackson di Jawa? " />

Cara Menukar Rentetan JSON kepada Rentetan Peta dengan Jackson JSON

Soalan:

Percubaan untuk menukar rentetan JSON kepada Map menggunakan Jackson membawa kepada "Peta tugasan yang tidak ditandakan kepada Map" Mencari pendekatan yang betul dan meneroka kaedah alternatif untuk penukaran JSON, yang serupa untuk json_decode dalam PHP.

Jawapan:

Pendekatan yang betul menggunakan Jackson JSON ialah memanfaatkan TypeReference untuk menentukan jenis peta yang diingini seperti berikut:

<code class="java">public void testJackson() throws IOException {  
    ObjectMapper mapper = new ObjectMapper(); 
  
    TypeReference<HashMap<String,Object>> typeRef 
            = new TypeReference<HashMap<String,Object>>() {};

    HashMap<String,Object> o = mapper.readValue(from, typeRef); 
    System.out.println("Got " + o); 
}  </code>

Untuk membaca daripada rentetan, dapatkan InputStream menggunakan ByteArrayInputStream(astring.getBytes("UTF-8")) baharu dan hantar ke mapper.readValue().

Jawa Asli Alternatif Penukaran JSON:

Jackson bukan satu-satunya pilihan untuk penukaran JSON dalam Java Pustaka Gson daripada Google menyediakan pendekatan yang lebih intuitif:

  1. Import kelas Gson.<.>
  2. Buat objek Gson.
  3. Gunakan Gson.fromJson() untuk menukar rentetan JSON kepada jenis objek yang diingini, dalam kes ini, Map.

Nota Tambahan:

Jawapan asal telah dikemas kini untuk mencerminkan pengesyoran untuk menggunakan perpustakaan Gson dan bukannya Jackson.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan JSON kepada Peta menggunakan Jackson di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn