java中對(duì)象轉(zhuǎn)json字符串的幾種常用方式舉例
1.使用Jackson庫:
Jackson是一個(gè)常用且功能強(qiáng)大的Java庫,用于處理JSON數(shù)據(jù)。下面是使用Jackson將對(duì)象轉(zhuǎn)換為JSON字符串的示例:
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
// 創(chuàng)建一個(gè)對(duì)象
MyClass obj = new MyClass(1, "Example");
// 創(chuàng)建ObjectMapper實(shí)例
ObjectMapper objectMapper = new ObjectMapper();
try {
// 將對(duì)象轉(zhuǎn)換為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提供的一個(gè)Java庫,它可以處理JSON數(shù)據(jù)的序列化和反序列化。以下是使用Gson將對(duì)象轉(zhuǎn)換為JSON字符串的示例
import com.google.gson.Gson; // 創(chuàng)建一個(gè)對(duì)象 MyClass obj = new MyClass(1, "Example"); // 創(chuàng)建Gson實(shí)例 Gson gson = new Gson(); // 將對(duì)象轉(zhuǎn)換為JSON字符串 String jsonString = gson.toJson(obj); System.out.println(jsonString);
相關(guān)依賴:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
</dependency>3.Hutool工具類
//將對(duì)象(vo)轉(zhuǎn)為JSONObject
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(order);
//將對(duì)象數(shù)據(jù)轉(zhuǎn)為字符串
String jsonString = JSON.toJSONString(jsonObject);相關(guān)依賴:
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.20</version> </dependency>
附:Java對(duì)象與JSON字符串的相互轉(zhuǎn)換
1、測(cè)試代碼如下:
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() {
// 創(chuàng)建對(duì)象(嵌套兩層)
Person person = new Person("hjp", 20000, 22, "男", "area", new Person("lcr", 20000, 22, "男", "area"));
// 將對(duì)象轉(zhuǎn)為json字符串方法
String jsonString = JSONObject.toJSONString(person);
System.out.println("jsonString = " + jsonString);
// 將json字符串轉(zhuǎn)化為對(duì)象
Person parseObject = JSON.parseObject(jsonString, Person.class);
// 驗(yàn)證:嵌套格式的json字符串被全部轉(zhuǎn)為對(duì)象格式
String name = parseObject.getPerson().getName();
System.out.println("name = " + name);
}
}2、使用到的實(shí)體
import lombok.Data;
@Data
public class Person {
private String name; // 姓名
private int salary; // 薪資
private int age; // 年齡
private String sex; //性別
private String area; // 地區(qū)
private Person person;// 嵌套對(duì)象(Person)
// 構(gòu)造方法
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;
}
}總結(jié)
到此這篇關(guān)于java中對(duì)象轉(zhuǎn)json字符串的幾種常用方式的文章就介紹到這了,更多相關(guān)java對(duì)象轉(zhuǎn)json字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringKafka消息發(fā)布之KafkaTemplate與事務(wù)支持功能
通過本文介紹的基本用法、序列化選項(xiàng)、事務(wù)支持、錯(cuò)誤處理和性能優(yōu)化技術(shù),開發(fā)者可以構(gòu)建高效可靠的Kafka消息發(fā)布系統(tǒng),事務(wù)支持特性尤為重要,它確保了在分布式環(huán)境中的數(shù)據(jù)一致性,感興趣的朋友一起看看吧2025-04-04

