全网详细解说:java对象转JSONObject和JSONString、JSONObject转java对象和JSONString,JSONString转JSONObject和java对象
•
数据库
文章目录
- 1. 文章引言
-
- 1.1 框架引用
- 1.2 创建java实体对象
- 2. java对象转JSONObject和JSONString
-
- 2.1 java对象转JSONObject
- 2.2 java对象转JSONString
- 3. JSONObject转java对象和JSONString
-
- 3.1 JSONObject转java对象
- 3.2 JSONObject转JSONString
- 4. JSONString转JSONObject和java对象
-
- 4.1 JSONString转java对象
- 4.2 JSONString转JSONObject
- 5. 文末总结
1. 文章引言
我们在开发的过程中,难免会到如下转换的情况:
-
java对象转JSONObject
-
JSONObject转java对象
-
JsonString转JSONObject
在分析这三种类型的相互转化之前,我们需要引入相关的jar包:
1.1 框架引用
- 如果你使用的是fastjson,可引入如下jar包:
com.alibaba
fastjson
1.2.54
- 如果你使用的是orgJson,可引入如下jar包:
org.json json 20230227
- 如果你使用的是Jackson,可引入如下jar包:
1.8
2.10.1
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
com.fasterxml.jackson.core
jackson-core
${jackson.version}
com.fasterxml.jackson.core
jackson-annotations
${jackson.version}
而我在开发中常用的是fastjson,这是阿里巴巴开源的框架,其开原地址为:https://github.com/alibaba/fastjson
1.2 创建java实体对象
同时,以Student类为例子,来演示这三者的相互转换。
Student类的代码如下所示:
/**
* @author super先生
* @datetime 2023/4/7 14:09
* @desc 学生类,用来测试同JSONObject和JSONString转换的示例类
*/
public class Student {
private Long id;
private String username;
private String studentNo;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getStudentNo() {
return studentNo;
}
public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
}
@Override
public String toString() {
return String.format(
"output: id -> %d, username -> %s, studentNo -> %s", id, username, studentNo);
}
}
2. java对象转JSONObject和JSONString
2.1 java对象转JSONObject
/**
* java对象转化为JSONObject
*
* @author super先生
* @datetime 2023/4/7:14:29
* @return
*/
@Test
public void testJavaToJSONObject() {
Student student = new Student();
student.setId(12L);
student.setUsername("super先生");
student.setStudentNo("20231232520");
JSONObject studentJsonObject = (JSONObject) JSONObject.toJSON(student);
System.out.println(studentJsonObject);
}
输出结果如下图:

2.2 java对象转JSONString
/**
* java对象转化为JSONString
*
* @author super先生
* @datetime 2023/4/7:14:33
* @return
*/
@Test
public void testJavaToJSONString() {
Student student = new Student();
student.setId(12L);
student.setUsername("super先生");
student.setStudentNo("20231232520");
String studentJsonString = JSONObject.toJSONString(student);
System.out.println(studentJsonString);
}
输出结果如下图:

3. JSONObject转java对象和JSONString
3.1 JSONObject转java对象
/**
* JSONObject转为java实例化对象
*
* @author super先生
* @datetime 2023/4/7:14:39
* @return
*/
@Test
public void testJSONObjectToJava() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", 12);
jsonObject.put("username", "super先生");
jsonObject.put("studentNo", "20231232520");
Student student = jsonObject.toJavaObject(Student.class);
System.out.println(student);
}
输出结果如下图:

3.2 JSONObject转JSONString
/**
* JSONObject转为JSONString
*
* @author super先生
* @datetime 2023/4/7:14:42
* @return
*/
@Test
public void testJSONObjectToJSONString() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", 12);
jsonObject.put("username", "super先生");
jsonObject.put("studentNo", "20231232520");
String studentJsonString = jsonObject.toJSONString();
System.out.println(studentJsonString);
}
输出结果如下图:

4. JSONString转JSONObject和java对象
4.1 JSONString转java对象
/**
* JSONString转为java实例化对象
*
* @author super先生
* @datetime 2023/4/7:14:46
* @return
*/
@Test
public void testJSONStringToJava() {
String studentJsonString = "{\"studentNo\":\"20231232520\",\"id\":12,\"username\":\"super先生\"}";
Student student = JSONObject.parseObject(studentJsonString, Student.class);
System.out.println(student);
}
输出结果如下图:

4.2 JSONString转JSONObject
/**
* JSONString转为JSONObject
*
* @author super先生
* @datetime 2023/4/7:14:48
* @return
*/
@Test
public void testJSONStringToJSONObject() {
String studentJsonString = "{\"studentNo\":\"20231232520\",\"id\":12,\"username\":\"super先生\"}";
JSONObject jsonObject = JSONObject.parseObject(studentJsonString);
System.out.println(jsonObject);
}
输出结果如下图:

5. 文末总结
当然,我是以fastjson这个框架来演示的,你在实际工作中以公司使用的框架为主。
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/b615c683a8.html
