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

Comment convertir entre HashMap et String en Java ?

王林
王林avant
2023-04-21 12:52:173023parcourir

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);

log:

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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer