简单的解析Json格式字符串练习

    今天学习了一下编写Json格式的接口,发现也不是很麻烦,顺便写了两个简单的解析json格式字符串的方法,贴出来分享一下下。方法以下: json

//格式一 如//{"username":"7845166313","password":"123456"} 这种格式的解析,返回Map对象。
    public Map<Object,Object> jsonToMapObject(String json){
        Map<Object,Object> map = new HashMap<Object,Object>();//new一个map对象
        String str = json.replace("{","").replace("}","").replaceAll("\"", "");//去掉大括号、双引号
        String[] ary1 = str.split(",");//根据”,“号分隔字符串,得到数组对象
        for(String s : ary1){//循环取出数组中的对象
            String[] ary2 = s.split(":");//根据”:“冒号分隔字符串,得到键-值数组对象
            map.put(ary2[0],ary2[1]);//将对象以键-值对的方式存入map中
        }
        return map;
    }

    
    //格式二如://[{"username":"7845166313","password":"123456"},{"username":"545434","password":"3455"},{"username":"45354","password":"345454"}] 数组格式的解析
    public List<Map<Object,Object>> jsonListToObjectList(String json){
        List<Map<Object,Object>> listMap = new ArrayList<Map<Object,Object>>();//实例化一个map类型的集合对象
        String data = json.replaceAll("\"", "").replace("[{", "").replace("}]","");//去掉先后括号、双引号
        String[]arry = data.split("},\\{"); //根据“},{”分隔字符串,得到对象数组
        for(int i=0;i<arry.length;i++){
            String[] arry2 = arry[i].split(",");//以逗号分隔对象("username":"7845166313","password":"123456")
            Map<Object,Object> m = new HashMap<Object,Object>();//实例化map对象
            for(int j=0;j<arry2.length;j++){
                String[] aray3 = arry2[j].split(":");//根据”:“冒号分隔字符串,得到键-值数组对象
                m.put(aray3[0],aray3[1]);//将对象以键-值对的方式存入map中
            }
            listMap.add(m);//将对象存入集合中
        }
        return listMap;
    } 数组

   还有不少其余的格式,我这里就写了两种简单的格式,临时写的,可能还有不少其余因素没考虑进来,之后会慢慢改正...欢迎大侠们批评指正... 学习

相关文章
相关标签/搜索