2016-08-02 11 views
-4

Ich habe folgende Zeichenfolge:Split eine Zeichenkette mit einem Zeichen zwischen geschweiften Klammern

{"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}},{"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}},{"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}} 

Ich brauche diese Zeichenfolge aufzuspalten auf „“ zwischen ‚}}‘ und ‚{‘ und jedes Ergebnis in einem Register gesetzt .

Das Ergebnis, das ich will, ist:

tab[0] : {"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}} 
tab[1] : {"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}} 
tab[2] : {"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}} 

Wie kann ich es tun?

+2

das sieht wie JSON aus. Ich würde mir einen JSON-Reader ansehen, anstatt ihn selbst zu analysieren. – RNJ

Antwort

0

folgender Code löst Ihr Problem

public class Test { 

    public static void main(String args[]) { 
     String input = "{\"attribute1\":\"value1\",\"attribute2\":\"value2\",\"attribute3\":{\"attribute3a\":\"value3a\",\"attribute3b\":\"value3b\"}},{\"attribute1\":\"value1\",\"attribute2\":\"value2\",\"attribute3\":{\"attribute3a\":\"value3a\",\"attribute3b\":\"value3b\"}},{\"attribute1\":\"value1\",\"attribute2\":\"value2\",\"attribute3\":{\"attribute3a\":\"value3a\",\"attribute3b\":\"value3b\"}}"; 
     String[] output = input.split("},"); 
     for(String s: output) { 
      System.out.println(s+"}"); 
     } 
    } 

} 

jedoch, dies zu tun es nicht eine elegante Art und Weise ist. Sie sollten versuchen, Ihre Eingabe mit JSON-Bibliotheken zu analysieren

+0

Danke, es funktioniert !! – Grichka

+0

Willkommen bei StackOverflow. Upvoting ist die Art, hier Danke zu sagen :-) – JavaHopper

+0

Ja, ich weiß, aber ich kann nicht. Wenn ich auf den Pfeil nach oben klicke, erscheint ein Popup-Fenster: "Danke für die Rückmeldung! Stimmen von Personen mit weniger als 15 Ruf werden aufgezeichnet, aber nicht die öffentlich angezeigte Post-Punktzahl." Entschuldigung! : / – Grichka

Verwandte Themen