Json 是一个用于 Java 对象 和 Json 文本 相互转换的工具类。
安装
下载源码
|
1 |
git clone https: //github 测试数据 /njdi/durian .git |
编译源码
|
1 |
cd durian/ |
切换至最新版本(Tag),如:0.4,
|
1 |
git checkout 0.4 |
编译安装至本地 Maven 仓库:
|
1 |
mvn clean package |
添加依赖
SpringBoot 应用使用 Config 时,需要在 Maven pom.xml 中添加:
|
1 2 3 4 5 |
< dependency > < groupId >io.njdi</ groupId > < artifactId >durian-common</ artifactId > < version >${version}</ version > </ dependency > |
${version} 替换为具体的版本号,如:0.4。
Java 对象
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 文本
Java 对象 转换为 Json 文本可以使用方法:
|
1 |
Json.toJson(obj) |
基本数据类型
|
1 2 3 4 5 6 |
String json;
json = Json.toJson( 1 ); json = Json.toJson( 1.0 ); json = Json.toJson( true ); json = Json.toJson( "str" ); |
数组
|
1 2 3 4 5 6 |
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" }); |
列表
|
1 2 3 4 5 6 |
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" )); |
字典
|
1 2 3 4 5 6 |
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")); |
类
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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 文本 转换为 Java 对象时,需要通过参数指定转换对象的类型信息:
|
1 |
Json.fromJson(json, Class) |
或者
|
1 |
Json.fromJson(json, Type) |
基本数据类型
Json 文本 转换为 基本数据类型时,需要使用 Type 指定转换类型,如:
|
1 |
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 指定转换数组的元素类型,如:
|
1 |
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 指定转换列表的元素类型,如:
|
1 |
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 指定转换字典的元素值类型,如:
|
1 |
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 指定转换对象的类型,如:
|
1 |
MyObject obj = Json.fromJson( "{'a': 1, 'b': 2.0, 'c': true, d: 'str'}" , MyObject. class ); |
到此这篇关于Java对象和Json文本转换工具类的实现的文章就介绍到这了,更多相关Java对象和Json文本转换 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://HdhCmsTestcnblogs测试数据/yurunmiao/p/15951965.html
查看更多关于Java对象和Json文本转换工具类的实现的详细内容...