java中對(duì)象轉(zhuǎn)json字符串的幾種常用方式舉例
1.使用Jackson庫(kù):
Jackson是一個(gè)常用且功能強(qiáng)大的Java庫(kù),用于處理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(); }
需要依賴(lài):
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.5</version> </dependency>
2.使用Gson庫(kù):
Gson是Google提供的一個(gè)Java庫(kù),它可以處理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)依賴(lài):
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.8</version> </dependency>
3.Hutool工具類(lèi)
//將對(duì)象(vo)轉(zhuǎn)為JSONObject JSONObject jsonObject = (JSONObject) JSONObject.toJSON(order); //將對(duì)象數(shù)據(jù)轉(zhuǎn)為字符串 String jsonString = JSON.toJSONString(jsonObject);
相關(guān)依賴(lài):
<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)文章希望大家以后多多支持腳本之家!
- Java對(duì)象轉(zhuǎn)JSON三種常用的方法
- java中對(duì)象和JSON格式的轉(zhuǎn)換方法代碼
- Java中如何使用Gson將對(duì)象轉(zhuǎn)換為JSON字符串
- 如何將Java對(duì)象轉(zhuǎn)換成JSON
- java中json和對(duì)象之間相互轉(zhuǎn)換的運(yùn)用
- 詳解JSON與?Java對(duì)象之間的轉(zhuǎn)化
- 如何將Java對(duì)象轉(zhuǎn)換為JSON實(shí)例詳解
- Java如何將String轉(zhuǎn)換成json對(duì)象或json數(shù)組
- java中對(duì)象轉(zhuǎn)json字符串的三種常用方式
相關(guān)文章
Java動(dòng)態(tài)初始化數(shù)組,元素默認(rèn)值規(guī)則詳解
動(dòng)態(tài)初始化數(shù)組涉及先定義數(shù)組長(zhǎng)度,后填充具體數(shù)據(jù),適用于數(shù)據(jù)量已知但具體值未定的情況,這種初始化方式允許程序運(yùn)行過(guò)程中賦值,并會(huì)根據(jù)數(shù)據(jù)類(lèi)型設(shè)定默認(rèn)值,如整型為0,字符串為null,動(dòng)態(tài)初始化與靜態(tài)初始化格式不能混用2024-10-10解決springboot報(bào)錯(cuò)Could not resolve placeholder‘x
這篇文章主要介紹了解決springboot報(bào)錯(cuò):Could not resolve placeholder ‘xxx‘ in value “${XXXX}問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Java?SpringBoot項(xiàng)目如何優(yōu)雅的實(shí)現(xiàn)操作日志記錄
這篇文章主要介紹了Java?SpringBoot項(xiàng)目如何優(yōu)雅的實(shí)現(xiàn)操作日志記錄,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08淺談MyBatis 如何執(zhí)行一條 SQL語(yǔ)句
Mybatis 是 Java 開(kāi)發(fā)中比較常用的 ORM 框架。在日常工作中,我們都是直接通過(guò) Spring Boot 自動(dòng)配置,并直接使用,但是卻不知道 Mybatis 是如何執(zhí)行一條 SQL 語(yǔ)句的,下面就一起講解一下2021-05-05Spring中@Value設(shè)置默認(rèn)值問(wèn)題解決
本文主要介紹了Spring中@Value設(shè)置默認(rèn)值問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07MyBatis-Plus3.x版本使用入門(mén)和踩過(guò)的坑
Mybatis-Plus是Mybatis的增強(qiáng)版,他只是在Mybatis的基礎(chǔ)上增加了功能,且并未對(duì)原有功能進(jìn)行任何的改動(dòng),本文給大家說(shuō)一下MyBatis-Plus3.x版本使用入門(mén)和踩過(guò)的坑,感興趣的朋友跟隨小編一起看看吧2023-10-10BeanUtils.copyProperties()屬性名相同但是類(lèi)型不同問(wèn)題
這篇文章主要介紹了BeanUtils.copyProperties()屬性名相同但是類(lèi)型不同問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09IDEA SpringBoot:Cannot resolve configuration&
這篇文章主要介紹了IDEA SpringBoot:Cannot resolve configuration property配置文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07