栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JackSon的简单使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JackSon的简单使用

介绍
    public static void main(String[] args) {
        beanToJson();
        ListAndMapToJson();
        JsonToJava();
        jsonArrToList();
    }

    //JavaBean转Json
    private static void beanToJson() {
        User user = new User("吴礼豪", 19, (short) 2, Arrays.asList("java", "php", "javascript"), new Date());
        //创建jackson核心对象
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            //将对象转换成json
            String userJson = objectMapper.writevalueAsString(user);
            System.out.println(userJson);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }

    //List和Map转换成Json
    public static void ListAndMapToJson() {
        List languages = Arrays.asList("java", "php", "golang", "javascript");
        Map salary = new HashMap<>();
        salary.put("java", 20000);
        salary.put("php", 16000);
        salary.put("golang", 19500);
        salary.put("javascript", 18000);
        ObjectMapper mapper = new ObjectMapper();
        try {
            System.out.println(mapper.writevalueAsString(salary));
            System.out.println(mapper.writevalueAsString(languages));
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }

    //,Json转Java对象:
    public static void JsonToJava() {
        //我们实现json转User对象:
        String userJson = "{"name":"李一桐","age":30,"gender":2,"languages":["java","php","javascript"]," +
                ""createTime":"2021-05-07 00:19:11"}";
        ObjectMapper objectMapper = new ObjectMapper();
        //设置时区
        objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
        User user = null;
        try {
            user = objectMapper.readValue(userJson, User.class);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(user);
    }

    //如果我们的json是一个数组,我们要转化成List,怎么办?
    public static void jsonArrToList() {
        String usersJson = "[{"name":"李一桐","age":30,"gender":2,"languages":["java","php"," +
                ""javascript"],"createTime":"2021-05-07 00:22:34"},{"name":"鞠婧祎","age":26,"gender":2," +
                ""languages":["java","php","javascript"],"createTime":"2021-05-07 00:22:34"}," +
                "{"name":"郑爽","age":27,"gender":2,"languages":["java","php","javascript"]," +
                ""createTime":"2021-05-07 00:22:34"}]n";
        //创建核心对象
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
        //获取LIst代泛型的JavaType
        JavaType javaType = objectMapper.getTypeFactory().x(List.class, User.class);
        try {
            List userLists = objectMapper.readValue(usersJson, javaType);
            //使用迭代器遍历
            Iterator iterator = userLists.iterator();
            while (iterator.hasNext()) {
                System.out.println((User) iterator.next());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static void jsonToMap() {

        String usersJson = "{"jujingyi":{"name":"鞠婧祎","age":26,"gender":2,"languages":["java","php"," +
                ""javascript"],"createTime":"2021-05-07 00:31:21"},"liyitong":{"name":"李一桐","age":30," +
                ""gender":2,"languages":["java","php","javascript"],"createTime":"2021-05-07 " +
                "00:31:21"},"zhengshuang":{"name":"郑爽","age":27,"gender":2,"languages":["java"," +
                ""php","javascript"],"createTime":"2021-05-07 00:31:21"}}n";
        ObjectMapper objectMapper = new ObjectMapper();
        //设置时区
        objectMapper.setTimeZone(TimeZone.getTimeZone("gmt+8"));
        //首先,获取对应的Map泛型类型为User的
        MapType javaType = objectMapper.getTypeFactory().constructMapType(Map.class, String.class, User.class);
        Map userMap = null;
        try {
            userMap = objectMapper.readValue(usersJson, javaType);
        } catch (IOException e) {
            e.printStackTrace();
        }
        for (String key : userMap.keySet()) {
            User user = userMap.get(key);
            System.out.println("key--->" + user);
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274015.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号