Menukar Rentetan JSON kepada HashMaps dalam Java Menggunakan Perpustakaan org.json
Apabila bekerja dengan data JSON di Java, tugas biasa adalah untuk tukar rentetan JSON ke HashMaps untuk memudahkan manipulasi dan penyimpanan data. Artikel ini memberikan penjelasan terperinci tentang cara untuk mencapai penukaran ini menggunakan perpustakaan org.json.
Struktur JSON
Pertimbangkan rentetan JSON berikut:
{ "name" : "abc", "email id" : ["[email protected]", "[email protected]", "[email protected]"] }
Matlamatnya adalah untuk menukar rentetan JSON ini kepada HashMap dengan kunci yang sepadan dengan nama dan nilai harta yang sepadan dengannya nilai masing-masing.
Permulaan HashMap
Mula-mula, mulakan HashMap untuk menyimpan data yang ditukar:
Map<String, Object> retMap = new HashMap<String, Object>();
Penukaran Rekursif
Proses penukaran melibatkan melintasi secara rekursif Objek JSON dan menukar struktur bersarang juga. Coretan kod berikut menggariskan kaedah penukaran rekursif:
public static MapjsonToMap(JSONObject json) throws JSONException { Map<String, Object> retMap = new HashMap<String, Object>(); if(json != JSONObject.NULL) { retMap = toMap(json); } return retMap; } public static Map toMap(JSONObject object) throws JSONException { Map map = new HashMap (); Iterator keysItr = object.keys(); while(keysItr.hasNext()) { String key = keysItr.next(); Object value = object.get(key); if(value instanceof JSONArray) { value = toList((JSONArray) value); } else if(value instanceof JSONObject) { value = toMap((JSONObject) value); } map.put(key, value); } return map; } public static List
Kod ini secara rekursif melintasi objek JSON dan mengendalikan struktur bersarang, seperti tatasusunan dan objek, memastikan HashMap akhir mengandungi semua data dalam rentetan JSON .
Menggunakan Jackson Perpustakaan
Sebagai alternatif, anda boleh menggunakan perpustakaan Jackson untuk menukar rentetan JSON kepada HashMaps. Ini boleh dilakukan dengan kod berikut:
import com.fasterxml.jackson.databind.ObjectMapper; Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan JSON kepada HashMaps dalam Java Menggunakan Perpustakaan org.json?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!