JsonUtil工具类

  1. 引用

    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
  1. 介绍

json工具类,包含以下方法

  • json转map

  • json转List<Map<String,?>>

  • map转json

  • List<Map<String,?>>转json

  • 对象转json

  • 数组转json(数组转map,然后转成的json)

3.工具类

package com.alphajuns.util;

import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.JavaType;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @ClassName JsonUtil
 * @Description json工具类
 * @Author AlphaJunS
 * @Date 2020/3/27 18:59
 * @Version 1.0
 */
public class JsonUtil {

    /**
     * @Author AlphaJunS
     * @Date 19:06 2020/3/27
     * @Description json转map
     * @param json
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    public static Map<String,Object> jsonToMap(String json) throws Exception{
        ObjectMapper objectMapper = new ObjectMapper();
        Map<String,Object> map;
        try {
            map = (Map<String,Object>)objectMapper.readValue(json, Map.class);
        } catch (JsonParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (JsonMappingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        }
        return map;
    }

    /**
     * @Author AlphaJunS
     * @Date 19:07 2020/3/27
     * @Description json转List<Map<String,?>>
     * @param json
     * @return java.util.List<java.util.Map<java.lang.String,?>>
     */
    public static List<Map<String,?>> jsonToMapList(String json) throws Exception{
        ObjectMapper objectMapper = new ObjectMapper();
        JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, Map.class);
        List<Map<String, ?>> mapList;
        try {
            mapList = (List<Map<String,?>>)objectMapper.readValue(json, javaType);
        } catch (JsonParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (JsonMappingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        }
        return mapList;
    }

    /**
     * @Author AlphaJunS
     * @Date 19:09 2020/3/27
     * @Description map转json
     * @param map
     * @return java.lang.String
     */
    public static String mapToJson(Map<String,Object> map) throws Exception{
        ObjectMapper objectMapper = new ObjectMapper();
        String jsonString = objectMapper.writeValueAsString(map);
        return jsonString;
    }

    /**
     * @Author AlphaJunS
     * @Date 19:10 2020/3/27
     * @Description 对象转json
     * @param object
     * @return java.lang.String
     */
    public static String objectToJson(Object object) throws Exception{
        ObjectMapper objectMapper = new ObjectMapper();
        String jsonList;
        try {
            jsonList = objectMapper.writeValueAsString(object);
        } catch (JsonParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (JsonMappingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        }
        return jsonList;
    }

    /**
     * @Author AlphaJunS
     * @Date 20:52 2020/3/27
     * @Description List<Map<String,?>>转json
     * @param cardInfoList
     * @return java.lang.String
     */
    public static String mapListToJson(List<Map<String, Object>> cardInfoList) throws Exception{
        ObjectMapper objectMapper = new ObjectMapper();
        String jsonList;
        try {
            jsonList = objectMapper.writeValueAsString(cardInfoList);
        } catch (JsonParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (JsonMappingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            throw e;
        }
        return jsonList;
    }

    /**
     * @Author AlphaJunS
     * @Date 20:57 2020/3/27
     * @Description 数组转json
     * @param args
     * @return java.lang.String
     */
    public static String arrayToJson(String[] args) throws Exception{
        // 先讲数组转化为map,然后map转json
        Map<String,String> map = new HashMap<String,String>();
        for(int i=0; i<args.length; i++){
            map.put(i+"", args[i]);
        }
        String json = JsonUtil.objectToJson(map);
        return json;
    }

}

4.用于测试的工具类

import com.alphajuns.util.JsonUtil;
import org.junit.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @ClassName JsonUtilTest
 * @Description JsonUtil工具类测试
 * @Author AlphaJunS
 * @Date 2020/3/27 21:10
 * @Version 1.0
 */
public class JsonUtilTest{

    @Test
    public void testJsonToMap() throws Exception {
        String json = "{\"sex\":\"male\",\"name\":\"Steven\"}";
        Map<String, Object> map = JsonUtil.jsonToMap(json);
        // {sex=male, name=Steven}
        System.out.println(map);
    }

    @Test
    public void testJsonToMapList() throws Exception {
        String jsonMapList = "[{\"sex\":\"male\",\"name\":\"Steven\"},{\"sex\":\"female\",\"name\":\"Allen\"}]";
        List<Map<String, ?>> mapList = JsonUtil.jsonToMapList(jsonMapList);
        // [{sex=male, name=Steven}, {sex=female, name=Allen}]
        System.out.println(mapList);
    }

    @Test
    public void testMapToJson() throws Exception {
        Map<String, Object> map = new HashMap<>();
        map.put("name", "Steven");
        map.put("sex", "male");
        String json = JsonUtil.mapToJson(map);
        // {"sex":"male","name":"Steven"}
        System.out.println(json);
    }

    @Test
    public void testMapListToJson() throws Exception {
        Map<String, Object> map = new HashMap<>();
        map.put("name", "Steven");
        map.put("sex", "male");
        Map<String, Object> map1 = new HashMap<>();
        map1.put("name", "Allen");
        map1.put("sex", "female");
        List<Map<String, Object>> mapList = new ArrayList<>();
        mapList.add(map);
        mapList.add(map1);
        String s = JsonUtil.mapListToJson(mapList);
        // [{"sex":"male","name":"Steven"},{"sex":"female","name":"Allen"}]
        System.out.println(s);
    }

    @Test
    public void testArrayToJson() throws Exception {
        String[] array = {"Hello", "5", "World", "6"};
        String json = JsonUtil.arrayToJson(array);
        // {"0":"Hello","1":"5","2":"World","3":"6"}
        System.out.println(json);
    }

    @Test
    public void testObjectToJson() throws Exception {
        Map<String, Object> map = new HashMap<>();
        map.put("name", "Steven");
        map.put("sex", "male");
        String s = JsonUtil.objectToJson(map);
        // {"sex":"male","name":"Steven"}
        System.out.println(s);
    }

}

5.相关链接:https://www.cnblogs.com/lixue333/articles/16719070.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值