获取String中数据

String a="abc[{type:1,name:zhangsan},{type:2,name:lisi}]";

这种类型的数据java如何获取到type=1 name=a

zhangsan[{type:1,name:a},{type:2,name:b}] 这些的是啥?
要获取里面的对象值,可以放到HashMap里面。

?????这种不报报错?

public static void main(String[] args) {
    String str = "abc[{type:1,name:zhangsan},{type:2,name:lisi}]";
    String[] strs = str.split("[\\{\\}]");
    for(String s : strs) {
        if(s.contains(":")) {
            String[] ss = s.split(",");
            for(String s_s : ss) {
                System.out.println(s_s.substring(0, s_s.indexOf(":")) + " = " + s_s.substring(s_s.indexOf(":") + 1));
            }
        }
    }
}