java之json串如何转Map

这篇“java之json串如何转Map”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java之json串如何转Map”文章吧。

1.FastJSON方法

Fastjson是阿里巴巴封装的,性能更快。

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 mainString[] args){
 
        String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
        //第一种方式
        Map maps = Map)JSON.parsestr);
        System.out.println"这个是用JSON类来解析JSON字符串!!!");
        for Object map : maps.entrySet)){
            System.out.printlnMap.Entry)map).getKey)+"     " + Map.Entry)map).getValue));
        }
        //第二种方式
        Map mapTypes = JSON.parseObjectstr);
        System.out.println"这个是用JSON类的parseObject来解析JSON字符串!!!");
        for Object obj : mapTypes.keySet)){
            System.out.println"key为:"+obj+"值为:"+mapTypes.getobj));
        }
        //第三种方式
        Map mapType = JSON.parseObjectstr,Map.class);
        System.out.println"这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
        for Object obj : mapType.keySet)){
            System.out.println"key为:"+obj+"值为:"+mapType.getobj));
        }
        //第四种方式
        /**
         * JSONObject是Map接口的一个实现类
         */
        Map json = Map) JSONObject.parsestr);
        System.out.println"这个是用JSONObject类的parse方法来解析JSON字符串!!!");
        for Object map : json.entrySet)){
            System.out.printlnMap.Entry)map).getKey)+"  "+Map.Entry)map).getValue));
        }
        //第五种方式
        /**
         * JSONObject是Map接口的一个实现类
         */
        JSONObject jsonObject = JSONObject.parseObjectstr);
        System.out.println"这个是用JSONObject的parseObject方法来解析JSON字符串!!!");
        for Object map : json.entrySet)){
            System.out.printlnMap.Entry)map).getKey)+"  "+Map.Entry)map).getValue));
        }
        //第六种方式
        /**
         * JSONObject是Map接口的一个实现类
         */
        Map mapObj = JSONObject.parseObjectstr,Map.class);
        System.out.println"这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");
        for Object map: json.entrySet)){
            System.out.printlnMap.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.printlnjson);
    }
}

2.Collectors.toMap

json字符串其实总得来说就是一个key-value的形式,应该是满足了最终想要的Map<String, List<Unit>>的结构了,所以直接一个Collectors.toMap就搞定了。    

Map<String, List<Unit>> result = JSONObject.parseObjects)
                                           .entrySet).stream)
                                           .collectCollectors.toMapMap.Entry::getKey, entry -> JSONObject.parseArrayString.valueOfentry.getValue)), Unit.class)));

注意s就是你那个json字符串。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注