怎么把json字符串转换map

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把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);  
      
参考技术A

    import java.util.HashMap;

    import java.util.Iterator;

    import java.util.Map;

    import net.sf.json.JSONObject;

    public Map<String, String> toMap(Object object)

    Map<String, String> data = new HashMap<String, String>();    

    // 将json字符串转换成jsonObject
       

    JSONObject jsonObject = JSONObject.fromObject(object);
     

    Iterator ite = jsonObject.keys();    

    // 遍历jsonObject数据,添加到Map对象
       

    while (ite.hasNext())

    String key = ite.next().toString();
           

    String value = jsonObject.get(key).toString();
           

    data.put(key, value);        

    // 或者直接将 jsonObject赋值给Map
     

    // data = jsonObject;
       

    return data;

怎么把hashmap转换成实体类

参考技术A 我想当初往map里放的时候也是按对象放的吧?
假设该类名叫MyObj,这是一个javaBean里面有name,left,top,type,width,height等属性,然后该类中有各字段的setter和getter方法。 假如Map对象名叫map,从map中取时这样:
MyObj obj = new MyObj();
obj.setName((String)map.get("name"));
obj.setLeft((int)map.get("left"));
obj.setTop((int)map.get("top"));
以下类推,这样就把map中的值根据键取出来,并且存入到对象obj的各个字段中本回答被提问者采纳

以上是关于怎么把json字符串转换map的主要内容,如果未能解决你的问题,请参考以下文章

java 怎么把正常时间转换成json类型的

怎么把获取的json数据转换成string

Java中如何把字符串转换成map

java 怎么把对象集合转换成json

java 怎么把map转为json

如何把map转成json字符串