Maison > Java > javaDidacticiel > Comment convertir entre HashMap et String en Java ?

Comment convertir entre HashMap et String en Java ?

王林
Libérer: 2023-04-21 12:52:17
avant
3020 Les gens l'ont consulté

Contexte :

Lorsque nous devons convertir HashMap en String au format Json, n'oubliez pas de ne pas utiliser la méthode toString() de HashMap. Vous devez utiliser FastJson/Gson pour convertir HashMap en String. Si vous utilisez la méthode toString() pour la conversion, vous ne pouvez pas convertir la chaîne en HashMap. Il affichera uniquement une erreur de sérialisation :

Comment convertir entre HashMap et String en Java ?

code démo :

        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);
Copier après la connexion

log:

{key1=value1, key2=value2, key3=value3, key4=value4}
{"key1":"value1","key2":"value2","key3":"value3","key4":"value4"}
Copier après la connexion

Comment convertir entre HashMap et String en Java ?

Autre exécution, visible via Debug :

Comment convertir entre HashMap et String en Java ?

peut être converti en chaîne via FastJson Convert String to HashMap , mais une erreur de sérialisation sera signalée via la conversion toString.

Raison :

Code source de HashMap toString :

Comment convertir entre HashMap et String en Java ?

HashMap réécrit la méthode toString de la classe de base. Le principe est de connecter la clé et la valeur avec = via une boucle for et de la sortir. Format de chaîne Json.

Code source JSON.toJSONString (objet Object) :

Comment convertir entre HashMap et String en Java ?

FastJson peut convertir des objets Object en chaînes au format Json via la méthode toJSONString Au contraire, les chaînes Json peuvent être converties en chaînes JSON via la sérialisation/désérialisation de l'objet original. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal