Rumah > Java > javaTutorial > Bagaimana untuk Menukar String JSON ke HashMaps di Java?

Bagaimana untuk Menukar String JSON ke HashMaps di Java?

DDD
Lepaskan: 2024-12-04 10:02:12
asal
803 orang telah melayarinya

How to Convert JSON Strings to HashMaps in Java?

Menukar JSON String kepada HashMaps dengan Java

Pengenalan
Bekerja dengan data JSON selalunya melibatkan keperluan untuk menghuraikan data ke dalam HashMap untuk manipulasi mudah. Di Java, seseorang boleh memanfaatkan pustaka org.json untuk tujuan ini.

Kaedah Rekursif
Kaedah ini berulang melalui objek JSON, menukar tatasusunan kepada senarai dan objek bersarang kepada HashMaps , sebelum menambahkannya pada HashMap terakhir.

public static Map<String, Object> jsonToMap(JSONObject json) throws JSONException {
    Map<String, Object> retMap = new HashMap<String, Object>();
    if(json != JSONObject.NULL) {
        retMap = toMap(json);
    }
    return retMap;
}
...
Salin selepas log masuk

Kaedah Ganti: Perpustakaan Jackson
Sebagai alternatif, seseorang boleh menggunakan perpustakaan Jackson untuk pendekatan yang lebih mudah:

import com.fasterxml.jackson.databind.ObjectMapper;
...
Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
...
Salin selepas log masuk

Contoh Penggunaan

Memandangkan sampel rentetan JSON :

{
"name" : "abc",
"email id " : ["email1@domain.com","email2@domain.com","email3@domain.com"]
}
Salin selepas log masuk

Untuk menukarnya kepada HashMap menggunakan rekursif kaedah:

Map<String, Object> myMap = jsonToMap(new JSONObject(jsonStr));
...
Salin selepas log masuk

Menggunakan perpustakaan Jackson:

Map<String, Object> myMap = new ObjectMapper().readValue(jsonStr, HashMap.class);
...
Salin selepas log masuk

HashMap yang terhasil akan mengandungi data JSON yang dihuraikan, membolehkan akses dan manipulasi mudah.

Atas ialah kandungan terperinci Bagaimana untuk Menukar String JSON ke HashMaps di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan