首页 前端知识 全网详细解说:java对象转JSONObject和JSONString、JSONObject转java对象和JSONString,JSONString转JSONObject和java对象

全网详细解说:java对象转JSONObject和JSONString、JSONObject转java对象和JSONString,JSONString转JSONObject和java对象

2024-05-07 13:05:44 前端知识 前端哥 937 49 我要收藏

文章目录

  • 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. 文章引言


我们在开发的过程中,难免会到如下转换的情况:

  1. java对象转JSONObject

  2. JSONObjectjava对象

  3. JsonStringJSONObject

在分析这三种类型的相互转化之前,我们需要引入相关的jar包:

1.1 框架引用

  1. 如果你使用的是fastjson,可引入如下jar包:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
复制
  1. 如果你使用的是orgJson,可引入如下jar包:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20230227</version>
</dependency>
复制
  1. 如果你使用的是Jackson,可引入如下jar包:
<properties>
<java.version>1.8</java.version>
<jackson.version>2.10.1</jackson.version>
</properties>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
复制

而我在开发中常用的是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://www.qianduange.cn//article/7402.html
标签
后端jvm
评论
还可以输入200
共0条数据,当前/页
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!