Rumah  >  Artikel  >  Java  >  Bagaimana untuk menukar antara HashMap dan String di Jawa?

Bagaimana untuk menukar antara HashMap dan String di Jawa?

王林
王林ke hadapan
2023-04-21 12:52:172938semak imbas

Latar Belakang:

Apabila kita perlu menukar HashMap kepada String dalam format Json, ingat untuk tidak menggunakan kaedah toString() HashMap Anda perlu menggunakan FastJson/Gson untuk menukar HashMap kepada String. Jika anda menggunakan kaedah toString() untuk penukaran, anda tidak boleh menukar rentetan menjadi HashMap. Ia hanya akan menyebabkan ralat bersiri:

Bagaimana untuk menukar antara HashMap dan String di Jawa?

kod demo:

        HashMap<String, String> dataMap = new HashMap<>(4);
        dataMap.put("key1", "value1");
        dataMap.put("key2", "value2");
        dataMap.put("key3", "value3");
        dataMap.put("key4", "value4");

        String byToString = dataMap.toString();
        String byJSONString = JSON.toJSONString(dataMap);
        System.out.println(byToString);
        System.out.println(byJSONString);

        HashMap<String ,String> hashMap = JSON.parseObject(byJSONString, HashMap.class);
        HashMap<String ,String> hashMap2 = JSON.parseObject(byToString, HashMap.class);

log:

{key1=value1, key2=value2, key3=value3, key4=value4}
{"key1":"value1","key2":"value2","key3":"value3","key4":"value4"}

Bagaimana untuk menukar antara HashMap dan String di Jawa?

Laksanakan lebih lanjut, dan anda boleh melihatnya melalui Nyahpepijat:

Bagaimana untuk menukar antara HashMap dan String di Jawa?

Tukar String kepada HashMap dengan menukar FastJson kepada String, tetapi ralat akan dilaporkan melalui penukaran toString. Isu bersiri.

Sebab:

Kod sumber HashMap toString:

Bagaimana untuk menukar antara HashMap dan String di Jawa?

HashMap mengatasi kaedah toString kelas asas Prinsipnya adalah melalui for gelung. Kunci sambung dan nilai dengan = dan output Jelas sekali ini bukan format rentetan Json.

Kod sumber JSON.toJSONString (objek objek):

Bagaimana untuk menukar antara HashMap dan String di Jawa?

FastJson boleh menukar objek Objek kepada rentetan format Json melalui kaedah toJSONString, dan sebaliknya , anda boleh menggunakan kaedah Serialisasi/deserialisasi menukar rentetan Json kepada objek asal.

Atas ialah kandungan terperinci Bagaimana untuk menukar antara HashMap dan String di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam