Heim  >  Artikel  >  Java  >  Wie konvertiert man zwischen HashMap und String in Java?

Wie konvertiert man zwischen HashMap und String in Java?

王林
王林nach vorne
2023-04-21 12:52:172994Durchsuche

Hintergrund:

Wenn wir HashMap in String im Json-Format konvertieren müssen, denken Sie daran, nicht die toString()-Methode von HashMap zu verwenden. Sie müssen FastJson/Gson verwenden, um HashMap in String zu konvertieren . Wenn Sie zur Konvertierung die Methode toString() verwenden, können Sie den String nicht in eine HashMap konvertieren. Es werden nur Serialisierungsfehler verursacht:

Wie konvertiert man zwischen HashMap und String in Java?

Democode:

        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"}
#🎜🎜 #

Wie konvertiert man zwischen HashMap und String in Java?

Weiter ausführen, sichtbar über Debug:

Wie konvertiert man zwischen HashMap und String in Java?

Sie können es über FastJson in String konvertieren. Konvertieren Sie dann String zu HashMap, aber bei der toString-Konvertierung wird ein Serialisierungsfehler gemeldet.

Grund:

HashMap toString Quellcode:

Wie konvertiert man zwischen HashMap und String in Java?

HashMap überschreibt den toString der Basis Klasse Das Prinzip der Methode besteht darin, eine for-Schleife zu verwenden, um den Schlüssel und den Wert mit = zu verbinden und dann auszugeben. Offensichtlich handelt es sich hierbei nicht um ein Json-String-Format.

JSON.toJSONString(Object object) Quellcode:

Wie konvertiert man zwischen HashMap und String in Java?

FastJson kann das Object-Objekt über toJSONString in das Json-Format konvertieren Methode String, umgekehrt kann der Json-String durch Serialisierung/Deserialisierung in das Originalobjekt konvertiert werden.

Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen HashMap und String in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen