亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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);

相關依賴:

<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);

相關依賴:

<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é) 

到此這篇關于java中對象轉(zhuǎn)json字符串的幾種常用方式的文章就介紹到這了,更多相關java對象轉(zhuǎn)json字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • logback自定義日志與Nacos日志沖突問題

    logback自定義日志與Nacos日志沖突問題

    這篇文章主要介紹了logback自定義日志與Nacos日志沖突問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java動態(tài)初始化數(shù)組,元素默認值規(guī)則詳解

    Java動態(tài)初始化數(shù)組,元素默認值規(guī)則詳解

    動態(tài)初始化數(shù)組涉及先定義數(shù)組長度,后填充具體數(shù)據(jù),適用于數(shù)據(jù)量已知但具體值未定的情況,這種初始化方式允許程序運行過程中賦值,并會根據(jù)數(shù)據(jù)類型設定默認值,如整型為0,字符串為null,動態(tài)初始化與靜態(tài)初始化格式不能混用
    2024-10-10
  • 解決springboot報錯Could not resolve placeholder‘xxx‘ in value“${XXXX}

    解決springboot報錯Could not resolve placeholder‘x

    這篇文章主要介紹了解決springboot報錯:Could not resolve placeholder ‘xxx‘ in value “${XXXX}問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java?SpringBoot項目如何優(yōu)雅的實現(xiàn)操作日志記錄

    Java?SpringBoot項目如何優(yōu)雅的實現(xiàn)操作日志記錄

    這篇文章主要介紹了Java?SpringBoot項目如何優(yōu)雅的實現(xiàn)操作日志記錄,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • 淺談MyBatis 如何執(zhí)行一條 SQL語句

    淺談MyBatis 如何執(zhí)行一條 SQL語句

    Mybatis 是 Java 開發(fā)中比較常用的 ORM 框架。在日常工作中,我們都是直接通過 Spring Boot 自動配置,并直接使用,但是卻不知道 Mybatis 是如何執(zhí)行一條 SQL 語句的,下面就一起講解一下
    2021-05-05
  • Spring中@Value設置默認值問題解決

    Spring中@Value設置默認值問題解決

    本文主要介紹了Spring中@Value設置默認值問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • MyBatis-Plus3.x版本使用入門和踩過的坑

    MyBatis-Plus3.x版本使用入門和踩過的坑

    Mybatis-Plus是Mybatis的增強版,他只是在Mybatis的基礎上增加了功能,且并未對原有功能進行任何的改動,本文給大家說一下MyBatis-Plus3.x版本使用入門和踩過的坑,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Spring中BeanFactory解析bean詳解

    Spring中BeanFactory解析bean詳解

    本篇文章主要介紹了Spring中BeanFactory解析bean詳解 ,詳細的介紹了使用BeanFactory對bean進行解析的實例,有興趣的可以了解一下。
    2017-04-04
  • BeanUtils.copyProperties()屬性名相同但是類型不同問題

    BeanUtils.copyProperties()屬性名相同但是類型不同問題

    這篇文章主要介紹了BeanUtils.copyProperties()屬性名相同但是類型不同問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • IDEA SpringBoot:Cannot resolve configuration property配置文件問題

    IDEA SpringBoot:Cannot resolve configuration&

    這篇文章主要介紹了IDEA SpringBoot:Cannot resolve configuration property配置文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論