java中对象转json字符串的几种常用方式举例
更新时间:2023年10月10日 15:37:39 作者:Swittee丶Henry
这篇文章主要给大家介绍了关于java中对象转json字符串的几种常用方式,在Java中可以使用许多库将对象转换为JSON字符串,其中最常用的是Jackson和Gson,文中通过代码介绍的非常详细,需要的朋友可以参考下
1.使用Jackson库:
Jackson是一个常用且功能强大的Java库,用于处理JSON数据。下面是使用Jackson将对象转换为JSON字符串的示例:
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; // 创建一个对象 MyClass obj = new MyClass(1, "Example"); // 创建ObjectMapper实例 ObjectMapper objectMapper = new ObjectMapper(); try { // 将对象转换为JSON字符串 String jsonString = objectMapper.writeValueAsString(obj); System.out.println(jsonString); } catch (JsonProcessingException e) { e.printStackTrace(); }
需要依赖:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.5</version> </dependency>
2.使用Gson库:
Gson是Google提供的一个Java库,它可以处理JSON数据的序列化和反序列化。以下是使用Gson将对象转换为JSON字符串的示例
import com.google.gson.Gson; // 创建一个对象 MyClass obj = new MyClass(1, "Example"); // 创建Gson实例 Gson gson = new Gson(); // 将对象转换为JSON字符串 String jsonString = gson.toJson(obj); System.out.println(jsonString);
相关依赖:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.8</version> </dependency>
3.Hutool工具类
//将对象(vo)转为JSONObject JSONObject jsonObject = (JSONObject) JSONObject.toJSON(order); //将对象数据转为字符串 String jsonString = JSON.toJSONString(jsonObject);
相关依赖:
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.20</version> </dependency>
附:Java对象与JSON字符串的相互转换
1、测试代码如下:
package com.hjp.test; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.hjp.DO.Person; import org.junit.Test; public class Json { @Test public void test02() { // 创建对象(嵌套两层) Person person = new Person("hjp", 20000, 22, "男", "area", new Person("lcr", 20000, 22, "男", "area")); // 将对象转为json字符串方法 String jsonString = JSONObject.toJSONString(person); System.out.println("jsonString = " + jsonString); // 将json字符串转化为对象 Person parseObject = JSON.parseObject(jsonString, Person.class); // 验证:嵌套格式的json字符串被全部转为对象格式 String name = parseObject.getPerson().getName(); System.out.println("name = " + name); } }
2、使用到的实体
import lombok.Data; @Data public class Person { private String name; // 姓名 private int salary; // 薪资 private int age; // 年龄 private String sex; //性别 private String area; // 地区 private Person person;// 嵌套对象(Person) // 构造方法 public Person() { } public Person(String name, int salary, int age, String sex, String area) { this.name = name; this.salary = salary; this.age = age; this.sex = sex; this.area = area; } public Person(String name, int salary, int age, String sex, String area, Person person) { this.name = name; this.salary = salary; this.age = age; this.sex = sex; this.area = area; this.person = person; } }
总结
到此这篇关于java中对象转json字符串的几种常用方式的文章就介绍到这了,更多相关java对象转json字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java8时间api之LocalDate/LocalDateTime的用法详解
在项目中,时间的使用必不可少,而java8之前的时间api Date和Calander等在使用上存在着很多问题,于是,jdk1.8引进了新的时间api-LocalDateTime,本文就来讲讲它的具体使用吧2023-05-05
最新评论