String转换为JSON的几种方式

common

采用springboot创建案例

1.导入依赖

org.projectlombok

lombok

1.18.24

junit

junit

4.13.2

test

com.alibaba

fastjson

1.2.76

com.google.code.gson

gson

2.9.0

com.fasterxml.jackson.core

jackson-core

2.10.0

com.fasterxml.jackson.core

jackson-databind

2.10.0

com.fasterxml.jackson.core

jackson-annotations

2.10.0

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 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 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 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 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 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 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 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 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 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);

}

}

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: