最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中對象轉(zhuǎn)json字符串的幾種常用方式舉例

 更新時間:2023年10月10日 15:37:39   作者:Swittee丶Henry  
這篇文章主要給大家介紹了關(guān)于java中對象轉(zhuǎn)json字符串的幾種常用方式,在Java中可以使用許多庫將對象轉(zhuǎn)換為JSON字符串,其中最常用的是Jackson和Gson,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

1.使用Jackson庫:

Jackson是一個常用且功能強大的Java庫,用于處理JSON數(shù)據(jù)。下面是使用Jackson將對象轉(zhuǎn)換為JSON字符串的示例:

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
// 創(chuàng)建一個對象
MyClass obj = new MyClass(1, "Example");
// 創(chuàng)建ObjectMapper實例
ObjectMapper objectMapper = new ObjectMapper();
try {
    // 將對象轉(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提供的一個Java庫,它可以處理JSON數(shù)據(jù)的序列化和反序列化。以下是使用Gson將對象轉(zhuǎn)換為JSON字符串的示例

import com.google.gson.Gson;
// 創(chuàng)建一個對象
MyClass obj = new MyClass(1, "Example");
// 創(chuàng)建Gson實例
Gson gson = new Gson();
// 將對象轉(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工具類

//將對象(vo)轉(zhuǎn)為JSONObject
       JSONObject jsonObject = (JSONObject) JSONObject.toJSON(order);
//將對象數(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對象與JSON字符串的相互轉(zhuǎn)換

 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() {
        // 創(chuàng)建對象(嵌套兩層)
        Person person = new Person("hjp", 20000, 22, "男", "area", new Person("lcr", 20000, 22, "男", "area"));
        // 將對象轉(zhuǎn)為json字符串方法
        String jsonString = JSONObject.toJSONString(person);
        System.out.println("jsonString = " + jsonString);
        // 將json字符串轉(zhuǎn)化為對象
        Person parseObject = JSON.parseObject(jsonString, Person.class);
        // 驗證:嵌套格式的json字符串被全部轉(zhuǎn)為對象格式
        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;  // 地區(qū)
    private Person person;// 嵌套對象(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中對象轉(zhuǎn)json字符串的幾種常用方式的文章就介紹到這了,更多相關(guān)java對象轉(zhuǎn)json字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)計模式之外觀模式

    Java設(shè)計模式之外觀模式

    這篇文章介紹了Java設(shè)計模式之外觀模式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 深入了解Java中Synchronized關(guān)鍵字的實現(xiàn)原理

    深入了解Java中Synchronized關(guān)鍵字的實現(xiàn)原理

    synchronized是JVM的內(nèi)置鎖,基于Monitor機制實現(xiàn),每一個對象都有一個與之關(guān)聯(lián)的監(jiān)視器?(Monitor),這個監(jiān)視器充當(dāng)了一種互斥鎖的角色,本文就詳細(xì)聊一聊Synchronized關(guān)鍵字的實現(xiàn)原理,需要的朋友可以參考下
    2023-06-06
  • Java數(shù)據(jù)類型超完整指南

    Java數(shù)據(jù)類型超完整指南

    Java數(shù)據(jù)類型可以分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型兩大類,這篇文章主要介紹了Java數(shù)據(jù)類型的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-03-03
  • SpringBoot Mybatis多數(shù)據(jù)源配置全過程

    SpringBoot Mybatis多數(shù)據(jù)源配置全過程

    本文詳細(xì)介紹了如何在Java項目中配置多數(shù)據(jù)源,包括配置文件設(shè)置、多數(shù)據(jù)源配置類、MyBatis配置等,通過兩種不同的方式配置primary和secondary數(shù)據(jù)源,展示了如何處理Mapper接口文件和.xml文件不在同一目錄下的情況,并使用@Primary注解指定默認(rèn)數(shù)據(jù)源
    2025-11-11
  • SpringBoot中DataSource配置失敗問題的解決方法

    SpringBoot中DataSource配置失敗問題的解決方法

    在SpringBoot項目里,當(dāng)嘗試啟動應(yīng)用程序時,有時會遇到Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured錯誤, 本文記錄了如何解決Spring Boot中DataSource配置失敗問題,需要的朋友可以參考下
    2025-06-06
  • Java中ConstraintValidator接口使用方法詳解

    Java中ConstraintValidator接口使用方法詳解

    在現(xiàn)代 Java 應(yīng)用開發(fā)中,數(shù)據(jù)校驗是保證系統(tǒng)健壯性和數(shù)據(jù)一致性的核心環(huán)節(jié),無論是 Web 請求參數(shù)、數(shù)據(jù)庫實體對象,還是業(yè)務(wù)邏輯中的中間狀態(tài),都需要通過嚴(yán)格的校驗規(guī)則來確保數(shù)據(jù)的合法性,Java 提供了 Bean Validation,本文給大家介紹了ConstraintValidator接口使用方法
    2025-07-07
  • Hadoop源碼分析六啟動文件namenode原理詳解

    Hadoop源碼分析六啟動文件namenode原理詳解

    本篇是Hadoop源碼分析系列文章第六篇,主要介紹Hadoop中的啟動文件namenode,后續(xù)本系列文章會持續(xù)更新,有需要的朋友可以借鑒參考下
    2021-09-09
  • 聊一聊SpringBoot服務(wù)監(jiān)控機制

    聊一聊SpringBoot服務(wù)監(jiān)控機制

    這篇文章主要介紹了聊一聊SpringBoot服務(wù)監(jiān)控機制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java中對于并發(fā)問題的處理思路分享

    Java中對于并發(fā)問題的處理思路分享

    并發(fā)粗暴的解釋就是一段代碼,在同一時間段內(nèi),被多個線程同時處理的情況就是并發(fā)現(xiàn)象。這篇文章和大家分享了一些對于并發(fā)問題的處理思路,需要的可以參考一下
    2023-02-02
  • IntelliJ IDEA 2020下載與安裝教程圖文詳解

    IntelliJ IDEA 2020下載與安裝教程圖文詳解

    這篇文章主要介紹了IDEA 2020下載與安裝的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05

最新評論

封丘县| 寿阳县| 吴桥县| 临汾市| 米易县| 彰化市| 南丹县| 多伦县| 体育| 登封市| 内丘县| 襄汾县| 厦门市| 隆安县| 谷城县| 南昌县| 信阳市| 前郭尔| 静宁县| 安岳县| 菏泽市| 株洲县| 沙河市| 太康县| 黄大仙区| 岚皋县| 广州市| 庆城县| 喀喇沁旗| 泽普县| 房产| 昌乐县| 涿州市| 虹口区| 宁国市| 华池县| 故城县| 永和县| 曲阳县| 拜泉县| 鄂伦春自治旗|