json 和java对象 互相转换(java)

Posted Firm陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json 和java对象 互相转换(java)相关的知识,希望对你有一定的参考价值。

java 解析json
1.使用 alibaba 的 fastJson
添加依赖或者jar

2.fastJson 简单使用

JSON > Java对象
java对象 > json

public class MyJson {
    public static String jsonmap = "{\\"001\\":{\\"name\\":\\"xiaohong\\",\\"password\\":\\"654321\\"},\\"002\\":[{\\"$ref\\":\\"$.001\\"},{\\"name\\":\\"xixi\\",\\"password\\":\\"789\\"}]}";
    public static String jsonuser = "{\\"name\\":\\"xiaohong\\",\\"password\\":\\"654321\\"}";
    public static String jsonlist = "[{\\"name\\":\\"xiaohong\\",\\"password\\":\\"654321\\"},{\\"name\\":\\"xixi\\",\\"password\\":\\"789\\"}]";
 
    public static void main(String[] args) {
        User user = new User();
        user.setName("xiaohong");
        user.setPassword("654321");
        List<User> list = new ArrayList<User>();
        list.add(user);
        list.add(new User("xixi","789"));
        Map map = new HashMap();
        map.put("001",user);
        map.put("002",list);
        // 1. json字符串 转换为 java 对象

        // toJsonString  - java对象转换为json字符串
        System.out.println(JSONObject.toJSONString(user));
        System.out.println(JSONObject.toJSONString(list));
        System.out.println(JSONObject.toJSONString(map));
 
        // toJavaObject - json字符串转换为java对象
        System.out.println(JSONObject.parseObject(jsonuser,User.class));
        List list1 = JSONObject.parseObject(jsonlist, List.class);
        for(int i=0;i<list1.size();i++) {
            System.out.println(JSONObject.parseObject(JSONObject.toJSONString(list1.get(i)),User.class));
        }
        Map map1 = JSONObject.parseObject(jsonmap, Map.class);
        Iterator iterator = map1.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry entry= (Map.Entry) iterator.next();
            System.out.println("key :"+entry.getKey()+"   value: " + entry.getValue());
        }
        // Json  -- 实体类转换为json字符串
        System.out.println(JSON.toJSONString(user));
        System.out.println(JSON.toJSONString(list));
        System.out.println(JSON.toJSONString(map));
        // json  -- json 转 java对象
        System.out.println(JSON.parseObject(jsonuser,User.class));
        List list2 = JSON.parseObject(jsonlist, List.class);
        for(int i=0;i<list2.size();i++) {
            System.out.println(JSON.parseObject(JSON.toJSONString(list1.get(i)),User.class));
        }
        Map map2 = JSON.parseObject(jsonmap, Map.class);
        Iterator iterator2 = map1.entrySet().iterator();
        while (iterator2.hasNext()) {
            Map.Entry entry= (Map.Entry) iterator2.next();
            System.out.println("key :"+entry.getKey()+"   value: " + entry.getValue());
        }
        
    }
}

以上是关于json 和java对象 互相转换(java)的主要内容,如果未能解决你的问题,请参考以下文章

json对象和java对象的互相转化

Java中对象和JSON互相转换的工具类

JSON与Java对象的互相转换

ObjectMapper java对象和json字符串 互相转换

ObjectMapper java对象和json字符串 互相转换

JAVA对象JSON数据互相转换的常见情况