String转换为JSON的几种方式

String转换为JSON的几种方式

common

采用springboot创建案例

1.导入依赖

<dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.10.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.10.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.10.0</version>
        </dependency>
    </dependencies>

2.添加通用实体类


@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private int id;
    private String username;
    private String password;
}


@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserGroup {

    private String name;
    private List<User> users = new ArrayList<>();
}

一、fastjson

 @Test
    public void test1(){
        //简单对象转换
        User user = new User(1,"root", "123456");
        System.out.println("初始化类:" + user);
        //调用toJSONString()
        String userJson = JSON.toJSONString(user);
        System.out.println("java类转换为json串:" + userJson);//{"id":1,"password":"123456","username":"root"}
        JSONObject jsonObject = JSONObject.parseObject(userJson);
        Integer id = jsonObject.getInteger("id");
        String username = jsonObject.getString("username");
        String password = jsonObject.getString("password");
        System.out.println(id +"    :    "+username + "   :    " + password);
    }
    @Test
    public void test2(){
        //集合转json串
        User user1 = new User(1,"zhangsan", "111111");
        User user2 = new User(2,"lisi", "222222");
        List<User> users = new ArrayList<>();
        users.add(user1);
        users.add(user2);
        System.out.println("初始化类:" + users);
        //调用toJSONString()
        String userJson = JSON.toJSONString(users);
        System.out.println("集合转json串:" + userJson);
        JSONArray jsonArray = JSONArray.parseArray(userJson);
        for (int i = 0; i < jsonArray.size(); i++) {
            Object obj = jsonArray.get(i);
            System.out.println(obj);// {"password":"111111","id":1,"username":"zhangsan"}
            String userJson1 = JSON.toJSONString(obj);
            JSONObject jsonObject = JSONObject.parseObject(userJson1);
            Integer id = jsonObject.getInteger("id");
            String username = jsonObject.getString("username");
            String password = jsonObject.getString("password");
            System.out.println(id +"    :    "+username + "   :    " + password);
        }

    }
    @Test
    public void test3(){
        //集合转json串
        User user1 = new User(1,"zhangsan", "111111");
        User user2 = new User(2,"lisi", "222222");
        List<User> users = new ArrayList<>();
        users.add(user1);
        users.add(user2);
        System.out.println("初始化类:" + users);
        //复杂java类转换对象
        UserGroup userGroup = new UserGroup("userGroup", users);
        System.out.println("初始化类:" + userGroup);
        //调用toJSONString()
        String userGroupJson = JSON.toJSONString(userGroup);
        System.out.println("复杂java类转换json串:" + userGroupJson);

        JSONObject jsonObjects = JSONObject.parseObject(userGroupJson);
        String name = jsonObjects.getString("name");
        String usersArray = jsonObjects.getString("users");
        System.out.println(name);
        System.out.println(usersArray);

        JSONArray jsonArray = JSONArray.parseArray(usersArray);
        for (int i = 0; i < jsonArray.size(); i++) {
            Object obj = jsonArray.get(i);
            System.out.println(obj);// {"password":"111111","id":1,"username":"zhangsan"}
            String userJson1 = JSON.toJSONString(obj);
            JSONObject jsonObject = JSONObject.parseObject(userJson1);
            Integer id = jsonObject.getInteger("id");
            String username = jsonObject.getString("username");
            String password = jsonObject.getString("password");
            System.out.println(id +"    :    "+username + "   :    " + password);
        }
    }
    
PS:代码繁琐一点,但结果获取到了!!!    

二、gson

@Test
    public void test1(){
        //简单对象转换
        User user = new User(1,"root", "123456");
        System.out.println("初始化类:" + user);
        //创建gson对象
        Gson gson = new Gson();
        // 调用Gson的String toJson(Object)方法将Bean转换为json字符串
        String jsonStr = gson.toJson(user);
        System.out.println("java类转换为json串:" + jsonStr);
        User fromJson = gson.fromJson(jsonStr, User.class);
        int id = fromJson.getId();
        String username = fromJson.getUsername();
        String password = fromJson.getPassword();
        System.out.println(id +"    :    "+username + "   :    " + password);
    }
    @Test
    public void test2(){
        //集合转json串
        User user1 = new User(1,"zhangsan", "111111");
        User user2 = new User(2,"lisi", "222222");
        List<User> users = new ArrayList<>();
        users.add(user1);
        users.add(user2);
        System.out.println("初始化类:" + users);
        //创建gson对象
        Gson gson = new Gson();
        // 调用Gson的String toJson(Object)方法将Bean转换为json字符串
        String jsonStr = gson.toJson(users);
        System.out.println("java类转换为json串:" + jsonStr);
        List list = gson.fromJson(jsonStr, List.class);
        System.out.println(list);
        for (int i = 0; i < list.size(); i++) {
            Object obj = list.get(i);
            String json = gson.toJson(obj);
            User user = gson.fromJson(json, User.class);
            int id = user.getId();
            String username = user.getUsername();
            String password = user.getPassword();
            System.out.println(id +"    :    "+username + "   :    " + password);
        }
    }
    @Test
    public void test3(){
        //集合转json串
        User user1 = new User(1,"zhangsan", "111111");
        User user2 = new User(2,"lisi", "222222");
        List<User> users = new ArrayList<>();
        users.add(user1);
        users.add(user2);
        System.out.println("初始化类:" + users);

        //复杂java类转换对象
        UserGroup userGroup = new UserGroup("userGroup", users);
        System.out.println("初始化类:" + userGroup);
        //创建gson对象
        Gson gson = new Gson();
        // 调用Gson的String toJson(Object)方法将Bean转换为json字符串
        String userGroupJson = gson.toJson(userGroup);
        System.out.println("复杂java类转换json串:" + userGroupJson);
        UserGroup userGroupStr = gson.fromJson(userGroupJson, UserGroup.class);
        String userGroupStrName = userGroupStr.getName();
        List<User> usersList = userGroupStr.getUsers();
        System.out.println(userGroupStrName);
        System.out.println(usersList);
        for (int i = 0; i < usersList.size(); i++) {
            Object obj = usersList.get(i);
            String json = gson.toJson(obj);
            User user = gson.fromJson(json, User.class);
            int id = user.getId();
            String username = user.getUsername();
            String password = user.getPassword();
            System.out.println(id +"    :    "+username + "   :    " + password);
        }
    }

三、Jackson

 @Test
    public void test1() throws JsonProcessingException {
        //简单对象转换
        User user = new User(1,"root", "123456");
        System.out.println("初始化类:" + user);
        //创建jackson对象
        ObjectMapper objectMapper = new ObjectMapper();
        String jsonStr = objectMapper.writeValueAsString(user);
        System.out.println("java类转换为json串:" + jsonStr);
        User fromJson = objectMapper.readValue(jsonStr, User.class);
        int id = fromJson.getId();
        String username = fromJson.getUsername();
        String password = fromJson.getPassword();
        System.out.println(id +"    :    "+username + "   :    " + password);
    }
    @Test
    public void test2() throws JsonProcessingException {
        //集合转json串
        User user1 = new User(1,"zhangsan", "111111");
        User user2 = new User(2,"lisi", "222222");
        List<User> users = new ArrayList<>();
        users.add(user1);
        users.add(user2);
        System.out.println("初始化类:" + users);
        //创建jackson对象
        ObjectMapper objectMapper = new ObjectMapper();
        String jsonStr = objectMapper.writeValueAsString(users);
        System.out.println("java类转换为json串:" + jsonStr);
        List list = objectMapper.readValue(jsonStr, List.class);

        System.out.println(list);
        for (int i = 0; i < list.size(); i++) {
            Object obj = list.get(i);
            String jsonStrs = objectMapper.writeValueAsString(obj);
            User user = objectMapper.readValue(jsonStrs, User.class);
            int id = user.getId();
            String username = user.getUsername();
            String password = user.getPassword();
            System.out.println(id +"    :    "+username + "   :    " + password);
        }
    }
    @Test
    public void test3() throws JsonProcessingException {
        //集合转json串
        User user1 = new User(1,"zhangsan", "111111");
        User user2 = new User(2,"lisi", "222222");
        List<User> users = new ArrayList<>();
        users.add(user1);
        users.add(user2);
        System.out.println("初始化类:" + users);

        //复杂java类转换对象
        UserGroup userGroup = new UserGroup("userGroup", users);
        System.out.println("初始化类:" + userGroup);
        //创建jackson对象
        ObjectMapper objectMapper = new ObjectMapper();
        String userGroupJson = objectMapper.writeValueAsString(userGroup);
        System.out.println("复杂java类转换json串:" + userGroupJson);
        UserGroup userGroupStr = objectMapper.readValue(userGroupJson, UserGroup.class);
        String userGroupStrName = userGroupStr.getName();
        List<User> usersList = userGroupStr.getUsers();
        System.out.println(userGroupStrName);
        System.out.println(usersList);
        for (int i = 0; i < usersList.size(); i++) {
            Object obj = usersList.get(i);
            String jsonStrs = objectMapper.writeValueAsString(obj);
            User user = objectMapper.readValue(jsonStrs, User.class);
            int id = user.getId();
            String username = user.getUsername();
            String password = user.getPassword();
            System.out.println(id +"    :    "+username + "   :    " + password);
        }
    }
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨殇离陌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值