Split eine einfache JSON-Struktur mit einem regulären Ausdruck
Ich habe noch nie verwendet ein regex vor und ich bin auf der Suche für split eine Datei, die eine oder mehrere JSON-Objekte, die JSON-Objekte werden nicht durch ein Komma getrennt. Also ich muss hier unterscheiden Sie zwischen "}{" und halten die beiden geschweiften Klammern. Dies ist, was der string sieht wie folgt aus:
{id:"123",name:"myName"}{id:"456",name:"anotherName"}
Ich würde gerne ein string-array, wie mit string.split()
["{id:"123",name:"myName"}", "{"id:"456",name:"anotherName"}"]
- mögliche Duplikate von stackoverflow.com/questions/2773710/...
- Ich weiß nicht, über, dass,, die Frage hat sich JSON-Objekte innerhalb von Objekten, ich bin versucht, etwas zu tun, viel mehr einfache, aber weiß nicht wie. Jetzt bin ich mit dem String[] temp = json.split("\\}\\{"); und es wird die erste in Ordnung, aber ich denke, es löscht einige der geschweiften Klammern, so dass das 2. Objekt ist nicht korrekt.
- Wenn es irgendeine chance, dass einige string-Wert in das JSON enthalten kann
}{
, dann ist Ihre einzige chance ist, um wirklich zu analysieren. Sie Parsen kann es entweder als echte, JSON, oder einfach nur analysieren, reicht es, das separate string-Inhalt, eventuell mit doppelten Anführungszeichen auch von anderen, sondern analysieren Sie, müssen Sie. - Ich denke, es ist eine schlanke Möglichkeit, dass jemand könnte geben Sie Kommentare ein, mit }{ in es. (es gibt ein Kommentarfeld, in das JSON-Objekt). Jetzt bin ich mit dem String[] temp = json.split("(?=\\{)"); und es funktioniert, aber ich glaube nicht, über dieses Problem zu Ihr gebracht. danke!
- Zu Menschen, die Abstimmung zu schließen : Lesen Sie Bitte auf beide Fragen. Der andere ist die Teilung in PHP eine komplexe multi-level-JSON-string (das ist kaum möglich, ohne Analyse), während dieser ist über die Spaltung in java einer bestimmten Ebene JSON-string (das ist natürlich machbar).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihre Objekte nicht komplizierter als das, was Sie zeigen, können Sie verwenden lookarounds wie diese :
Exemple :
Drucke
Wenn Ihr Objekte, die komplexer sind, ein regex würde wahrscheinlich nicht funktionieren, und Sie würden analysieren Ihr string.