有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在大括号中拆分一个带有字符的字符串

我有下面的字符串:

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

我该怎么做


共 (2) 个答案

  1. # 1 楼答案

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

    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库解析输入