Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在大括号之间拆分带有字符的字符串_Java_String_Split - Fatal编程技术网

Java 在大括号之间拆分带有字符的字符串

Java 在大括号之间拆分带有字符的字符串,java,string,split,Java,String,Split,我有以下字符串: {"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}},{"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}},{"attribute1":"value1",

我有以下字符串:

{"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"}}
我需要在“}}”和“{”之间拆分这个字符串,并将每个结果放在一个选项卡中

我想要的结果是:

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

我该怎么做呢?

下面的代码解决了您的问题

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+"}");
        }
    }

}

然而,这并不是一种优雅的方式。你应该尝试使用JSON库解析你的输入。这看起来肯定像JSON。我建议你看看这篇关于解析JSON的文章:

这看起来像JSON。我想看看JSON阅读器,而不是自己解析它欢迎来到StackOverflow。这里向上投票是表示感谢的方式:-)是的,我知道,但我不能。当我单击向上箭头时,弹出窗口告诉我:“感谢您的反馈!记录声誉低于15的人的投票,但不要更改公开显示的帖子分数。”抱歉!:/