JSON 字符串转换为 Map

 

 

复制代码
    package com.zkn.newlearn.json;  
      
    import com.alibaba.fastjson.JSON;  
    import com.alibaba.fastjson.JSONObject;  
    import java.util.Map;  
      
    /** 
     * JSON字符串自动转换 
     * Created by zkn on 2016/8/22. 
     */  
    public class JsonToMapTest01 {  
      
        public static void main(String[] args){  
      
            String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";  
            //第一种方式  
            Map maps = (Map)JSON.parse(str);  
            System.out.println("这个是用JSON类来解析JSON字符串!!!");  
            for (Object map : maps.entrySet()){  
                System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());  
            }  
            //第二种方式  
            Map mapTypes = JSON.parseObject(str);  
            System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");  
            for (Object obj : mapTypes.keySet()){  
                System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));  
            }  
            //第三种方式  
            Map mapType = JSON.parseObject(str,Map.class);  
            System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");  
            for (Object obj : mapType.keySet()){  
                System.out.println("key为:"+obj+"值为:"+mapType.get(obj));  
            }  
            //第四种方式  
            /** 
             * JSONObject是Map接口的一个实现类 
             */  
            Map json = (Map) JSONObject.parse(str);  
            System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");  
            for (Object map : json.entrySet()){  
                System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
            }  
            //第五种方式  
            /** 
             * JSONObject是Map接口的一个实现类 
             */  
            JSONObject jsonObject = JSONObject.parseObject(str);  
            System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");  
            for (Object map : json.entrySet()){  
                System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
            }  
            //第六种方式  
            /** 
             * JSONObject是Map接口的一个实现类 
             */  
            Map mapObj = JSONObject.parseObject(str,Map.class);  
            System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");  
            for (Object map: json.entrySet()){  
                System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
            }  
            String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +  
                    "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";  
           // JSONArray.parse()  
            System.out.println(json);  
        }  
    }  


Map 转Json :

public static String map2jsonstr(Map<String,?> map){

    return JSONObject.toJSONString(map);

}
复制代码

 

总结:
JSON实际上是实现Map接口的子类,因此开发中要传入的参数是java.util.Map格式的实例,可以直接传JSONObject对象

posted @   照旧  阅读(1748)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示