您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java對象和Json文本怎么實現轉換”,在日常操作中,相信很多人在Java對象和Json文本怎么實現轉換問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java對象和Json文本怎么實現轉換”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Json 是一個用于 Java 對象 和 Json 文本 相互轉換的工具類。
git clone https://github.com/njdi/durian.git
cd durian/
切換至最新版本(Tag),如:0.4,
git checkout 0.4
編譯安裝至本地 Maven 倉庫:
mvn clean package
SpringBoot 應用使用 Config 時,需要在 Maven pom.xml 中添加:
<dependency> <groupId>io.njdi</groupId> <artifactId>durian-common</artifactId> <version>${version}</version> </dependency>
${version} 替換為具體的版本號,如:0.4。
Java 對象支持如下類型:基本數據類型、數組、列表、字典。
Integer/int
Long/long
Float/float
Double/double
Boolean/boolean
String
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 對象 轉換為 Json 文本可以使用方法:
Json.toJson(obj)
String json; json = Json.toJson(1); json = Json.toJson(1.0); json = Json.toJson(true); json = Json.toJson("str");
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 文本 轉換為 Java 對象時,需要通過參數指定轉換對象的類型信息:
Json.fromJson(json, Class)
或者
Json.fromJson(json, Type)
Json 文本 轉換為 基本數據類型時,需要使用 Type 指定轉換類型,如:
int a = Json.fromJson("1", Json.JsonType.INT);
基本數據類型 和 Type 的對應關系:
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
Json 文本 轉換為 數組時,需要使用 Type 指定轉換數組的元素類型,如:
int[] arr = Json.fromJson("[1, 2, 3]", Json.JsonType.INT_ARRAY);
數組的元素類型 和 Type 的對應關系:
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 文本 轉換為 列表時,需要使用 Type 指定轉換列表的元素類型,如:
List<Integer> list = Json.fromJson("[1, 2, 3]", Json.JsonType.INT_LIST);
列表的元素類型 和 Type 的對應關系:
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 文本 轉換為 字典時,需要使用 Type 指定轉換字典的元素值類型,如:
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 文本 轉換為 類對象時,需要使用 Class 指定轉換對象的類型,如:
MyObject obj = Json.fromJson("{'a': 1, 'b': 2.0, 'c': true, d: 'str'}", MyObject.class);
到此,關于“Java對象和Json文本怎么實現轉換”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。