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:
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"}#🎜🎜 # Weiter ausführen, sichtbar über Debug: 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: 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: 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!