ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

FastJson:json字符串与Java对象转换

2021-06-02 02:04:15  阅读:417  来源: 互联网

标签:FastJson Java name JSONObject age sex json User String


 FastJson:json字符串与Java对象转换

对象实体类(省略get set toString)

class User {
    String name;
    String age;
    String sex;

    public User(){}

    public User(String name, String age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
}

1.1、对象转json字符串

        User user1 = new User("丽丽","24","女");
        String jsonUser = JSONObject.toJSONString(user1);
        System.out.println(jsonUser);//{"age":"24","name":"丽丽","sex":"女"}

 

 1.2、 json字符串转对象

        JSONObject jsonStr = JSONObject.parseObject(jsonUser);
        User user2 = JSONObject.toJavaObject(jsonStr,User.class);

 

2.1、List转json字符串

        List<User> users = new ArrayList<>();
        User userTest1 = new User("李四", "22","男");
        User userTest2 = new User("王五", null,"男");
        users.add(userTest1);
        users.add(userTest2);

        String jsonUsers = JSONObject.toJSONString(users);//[{"age":"22","name":"李四","sex":"男"},{"name":"王五","sex":"男"}]

 

2.2、json字符串转List

        List<User> userlist = JSON.parseArray(jsonUsers,User.class);//[User{name='李四', age='22', sex='男'}, User{name='王五', age='null', sex='男'}]

 

3.1、Map 转json字符串

        Map<String, Object> map = new HashMap();
        map.put("user",user1);
        String mapJson = JSONObject.toJSONString(map);//{"user":{"age":"24","name":"丽丽","sex":"女"}}

 

3.2、json字符串转Map

        JSONObject jsonMap = JSONObject.parseObject(mapJson);
        Map<String, Object> map1 = JSONObject.toJavaObject(jsonMap,Map.class);//{"user":{"sex":"女","name":"丽丽","age":"24"}}

4、FastJson maven依赖

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.75</version>
</dependency>

 

标签:FastJson,Java,name,JSONObject,age,sex,json,User,String
来源: https://www.cnblogs.com/omgliyq/p/14839494.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有