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的人的投票,但不要更改公开显示的帖子分数。”抱歉!:/