欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java對象和Json文本轉(zhuǎn)換工具類的實(shí)現(xiàn)

 更新時間:2022年03月02日 08:30:45   作者:萌貓他爸  
Json?是一個用于Java對象和Json文本相互轉(zhuǎn)換的工具類,本文主要介紹了Java對象和Json文本轉(zhuǎn)換工具類,具有一定的參考價值,感興趣的可以了解一下

Json 是一個用于 Java 對象 和 Json 文本 相互轉(zhuǎn)換的工具類。

安裝

下載源碼

git clone https://github.com/njdi/durian.git

編譯源碼

cd durian/

切換至最新版本(Tag),如:0.4,

git checkout 0.4

編譯安裝至本地 Maven 倉庫:

mvn clean package

添加依賴

SpringBoot 應(yīng)用使用 Config 時,需要在 Maven pom.xml 中添加:

<dependency>
  <groupId>io.njdi</groupId>
  <artifactId>durian-common</artifactId>
  <version>${version}</version>
</dependency>

${version} 替換為具體的版本號,如:0.4。

Java 對象

Java 對象支持如下類型:基本數(shù)據(jù)類型、數(shù)組、列表、字典。

基本數(shù)據(jù)類型

  • Integer/int
  • Long/long
  • Float/float
  • Double/double
  • Boolean/boolean
  • String

數(shù)組

  • int[]
  • long[]
  • float[]
  • double[]
  • boolean[]
  • String[]

列表

  • List
  • List
  • List
  • List
  • List
  • List
  • List

字典

  • Map<String, Integer>
  • Map<String, Long>
  • Map<String, Float>
  • Map<String, Double>
  • Map<String, Boolean>
  • Map<String, String>
  • Map<String, Object>

  • Class

Java 對象 轉(zhuǎn)換為 Json 文本

Java 對象 轉(zhuǎn)換為 Json 文本可以使用方法:

Json.toJson(obj)

基本數(shù)據(jù)類型

String json;

json = Json.toJson(1);
json = Json.toJson(1.0);
json = Json.toJson(true);
json = Json.toJson("str");

數(shù)組

String json;

json = Json.toJson(new int[]{1, 2, 3});
json = Json.toJson(new double[]{1.0, 2.0, 3.0});
json = Json.toJson(new boolean[]{true, false});
json = Json.toJson(new String[]{"1", "2.0", "true"});

列表

String json;

json = Json.toJson(List.of(1, 2, 3));
json = Json.toJson(List.of(1.0, 2.0, 3.0));
json = Json.toJson(List.of(true, false));
json = Json.toJson(List.of("1", "2.0", "true"));

字典

String json;

json = Json.toJson(Map.of("key1", 1, "key2", 2));
json = Json.toJson(Map.of("key1", 1.0, "key2", 2.0));
json = Json.toJson(Map.of("key1", true, "key2", false));
json = Json.toJson(Map.of("key1", "str", "key2", "2.0"));

public static class MyObject {
  private int a;
  private double b;
  private boolean c;
  private String d;
}

MyObject object = new MyObject();

object.a = 1;
object.b = 2.0;
object.c = true;
object.d = "str";

String json = Json.toJson(object);

Json 文本 轉(zhuǎn)換為 Java 對象

Json 文本 轉(zhuǎn)換為 Java 對象時,需要通過參數(shù)指定轉(zhuǎn)換對象的類型信息:

Json.fromJson(json, Class)

或者

Json.fromJson(json, Type)

基本數(shù)據(jù)類型

Json 文本 轉(zhuǎn)換為 基本數(shù)據(jù)類型時,需要使用 Type 指定轉(zhuǎn)換類型,如:

int a = Json.fromJson("1", Json.JsonType.INT);

基本數(shù)據(jù)類型 和 Type 的對應(yīng)關(guān)系:

  • Integer/int -> Json.JsonType.INT
  • Long/long -> Json.JsonType.LONG
  • Float/float -> Json.JsonType.FLOAT
  • Double/double -> Json.JsonType.DOUBLE
  • Boolean/boolean -> Json.JsonType.BOOLEAN
  • String -> Json.JsonType.STRING

數(shù)組

Json 文本 轉(zhuǎn)換為 數(shù)組時,需要使用 Type 指定轉(zhuǎn)換數(shù)組的元素類型,如:

int[] arr = Json.fromJson("[1, 2, 3]", Json.JsonType.INT_ARRAY);

數(shù)組的元素類型 和 Type 的對應(yīng)關(guān)系:

  • int[] -> Json.JsonType.INT_ARRAY
  • long[] -> Json.JsonType.LONG_ARRAY
  • float[] -> Json.JsonType.FLOAT_ARRAY
  • double[] -> Json.JsonType.DOUBLE_ARRAY
  • boolean[] -> Json.JsonType.BOOLEAN_ARRAY
  • String[] -> Json.JsonType.STRING_ARRAY

列表

Json 文本 轉(zhuǎn)換為 列表時,需要使用 Type 指定轉(zhuǎn)換列表的元素類型,如:

List<Integer> list = Json.fromJson("[1, 2, 3]", Json.JsonType.INT_LIST);

列表的元素類型 和 Type 的對應(yīng)關(guān)系:

  • List -> Json.JsonType.INT_LIST
  • List -> Json.JsonType.LONG_LIST
  • List -> Json.JsonType.FLOAT_LIST
  • List -> Json.JsonType.DOUBLE_LIST
  • List -> Json.JsonType.BOOLEAN_LIST
  • List -> Json.JsonType.STRING_LIST
  • List

字典

Json 文本 轉(zhuǎn)換為 字典時,需要使用 Type 指定轉(zhuǎn)換字典的元素值類型,如:

Map<String, Integer> map = Json.fromJson("{'a': 1, 'b': 2}", Json.JsonType.INT_MAP);
  • Map<String, Integer> -> Json.JsonType.INT_MAP
  • Map<String, Long> -> Json.JsonType.LONG_MAP
  • Map<String, Float> -> Json.JsonType.FLOAT_MAP
  • Map<String, Double> -> Json.JsonType.DOUBLE_MAP
  • Map<String, Boolean> -> Json.JsonType.BOOLEAN_MAP
  • Map<String, String> -> Json.JsonType.STRING_MAP
  • Map<String, Object> -> Json.JsonType.OBJECT_MAP

Json 文本 轉(zhuǎn)換為 類對象時,需要使用 Class 指定轉(zhuǎn)換對象的類型,如:

MyObject obj = Json.fromJson("{'a': 1, 'b': 2.0, 'c': true, d: 'str'}", MyObject.class);

 到此這篇關(guān)于Java對象和Json文本轉(zhuǎn)換工具類的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java對象和Json文本轉(zhuǎn)換 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC中的表現(xiàn)層結(jié)果封裝

    SpringMVC中的表現(xiàn)層結(jié)果封裝

    這篇文章主要介紹了SpringMVC中的表現(xiàn)層結(jié)果封裝,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java實(shí)現(xiàn)動態(tài)創(chuàng)建類操作示例

    Java實(shí)現(xiàn)動態(tài)創(chuàng)建類操作示例

    這篇文章主要介紹了Java實(shí)現(xiàn)動態(tài)創(chuàng)建類操作,結(jié)合完整示例形式分析了Java動態(tài)創(chuàng)建類的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • SpringBoot配置shiro安全框架的實(shí)現(xiàn)

    SpringBoot配置shiro安全框架的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot配置shiro安全框架的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • JAVA設(shè)計(jì)模式之備忘錄模式原理與用法詳解

    JAVA設(shè)計(jì)模式之備忘錄模式原理與用法詳解

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之備忘錄模式,簡單說明了備忘錄模式的概念、原理并結(jié)合實(shí)例形式分析了java備忘錄模式的具體定義及使用方法,需要的朋友可以參考下
    2017-08-08
  • SpringBoot整合MyBatis的代碼詳解

    SpringBoot整合MyBatis的代碼詳解

    這篇文章主要介紹了SpringBoot整合MyBatis筆記記錄,大家需要注意在整合mybatis之前我們需要相對應(yīng)的導(dǎo)入相關(guān)依賴,首先需要在java的目錄和resources下創(chuàng)建mapper文件夾,對SpringBoot整合MyBatis的詳細(xì)過程感興趣的朋友一起看看吧
    2022-05-05
  • Spring中@Value讀取properties作為map或list的操作

    Spring中@Value讀取properties作為map或list的操作

    這篇文章主要介紹了Spring中@Value讀取properties作為map或list的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringMVC實(shí)現(xiàn)Validation校驗(yàn)過程詳解

    SpringMVC實(shí)現(xiàn)Validation校驗(yàn)過程詳解

    這篇文章主要介紹了SpringMVC實(shí)現(xiàn)Validation校驗(yàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Jenkins的安裝配置詳解

    Jenkins的安裝配置詳解

    這篇文章主要介紹了Jenkins的安裝配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java +Tomcat + SpringMVC實(shí)現(xiàn)頁面訪問示例解析

    Java +Tomcat + SpringMVC實(shí)現(xiàn)頁面訪問示例解析

    這篇文章主要介紹了Java +Tomcat + SpringMVC實(shí)現(xiàn)頁面訪問示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • IDEA 如何控制編輯左側(cè)的功能圖標(biāo)ICON(操作步驟)

    IDEA 如何控制編輯左側(cè)的功能圖標(biāo)ICON(操作步驟)

    很多朋友被idea左側(cè)的圖標(biāo)不見了這一問題搞的焦頭爛額,不知道該怎么操作,今天小編就交大家如何控制編輯左側(cè)的功能圖標(biāo) ICON,文字內(nèi)容不多,主要通過兩張截圖給大家說明,感興趣的朋友一起看看吧
    2021-05-05

最新評論