Bereits behoben mein Problem - Beitrag kann gelöscht werden. Danke Ihnen allen für Ihre Hilfe.Splitting Komma getrennte Zeichenfolge (mit einigen von ' {[Zeichen]
Ich brauche Hilfe bei der Aufteilung der Zeichenfolge in Java. Ich habe einen String wie folgt aus:
{'key'=>value1,'key2'=>'value2','key3'=>{'innerKey1'=>'innerValue1'...} ...}
Ich brauche es zu spalten, so dass ich HashMap haben würde:
- Key-> Wert1
- key2-> value2
- key3 -> (Innen HashMap mit analysiert { 'innerKey1' => 'innerValue1' ...})
- ...
Es sollte funktionieren, wenn ich versuche, Wert von Schlüssel3 zu analysieren, würde es es auf die gleiche Weise wieder teilen. Es könnte viele Ebenen von inneren Elementen geben. Ich brauche es auch, um mit Sonderzeichen wie 'oder \ in Schlüssel- und Wertteil zu arbeiten. Ich habe so etwas wie dies:
result = string.split(",(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))");
aber ich weiß nicht, wie ganze {...}
zu behandeln, als Wert nicht durch Komma zu splitten.
Ich denke über die Verwendung von JSON für diese, aber vielleicht jemand wissen, einige Regexp oder kleine Funktion, die schneller als Lehnen JSON-Bibliotheken wäre.
Sie machen Ihre eigene Serialisierung, die eine schlechte Idee ist. Wenn Sie eine entfernte Möglichkeit haben, diese Zeichenfolge in einem JSON (oder einem anderen serialisierten Format) zu reparieren, tun Sie dies bitte. JSON zu lesen ist nicht viel mehr als nur die Enkodierungs-/Dekodierungsfunktionen aufzurufen. Sie werden Strukturen wie diese nicht einfach mit regexp analysieren können. – Nanne
Ich weiß aber Legacy-Code und Sie haben nicht viel Auswahl – user1307657