目录
- 安装
- Java 对象
- Java 对象 转换为 Json 文本
- Json 文本 转换为 Java 对象
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 对象
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>
类
Java 对象 转换为 Json 文本
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 文本 转换为 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文本转换工具类的实现的文章就介绍到这了,更多相关Java对象和Json文本转换 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关推荐:
SEO总结:如何通过优化提升网站排名与流量,关键词排名消失
SEO重要性与企业互联网发展的必由之路,互联网营销推广平台设计
ChatGPT破解:让AI打破语言与思维的边界,ai模板vis
ChatGPT无法使用?了解原因及解决方法,轻松恢复智能对话体验!,ai满版图案
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
AI网页生成:轻松构建智能网站,提升品牌竞争力,杭州专业ai智能教育
ChatGPT破解:人工智能未来的无限可能,污污AI解说
SEO获取流量的必杀技:如何通过优化轻松提升网站排名,德州全网营销推广价格
GoogleSEO打满分自然流量会高吗?揭开SEO优化的真相,猪插画ai
SEO分类中内部优化的有:让你的网站脱颖而出!,by ai
SEM有哪几个平台?数字营销的多元选择,AI怎么取消移动间距
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
ChatGPT怎么打开不了?全方位解决方案!,大庆ai
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
SEO占位:如何在竞争激烈的市场中占得先机?,梁平区省心全网营销推广
SEO地址优化的秘诀:提升网站排名与流量的关键,临沂如何优化网站关键词
AI人工智能文章生成器写作新纪元
seo适合什么人做,哪种seo做得好 ,晋城ai论文写作免费
AI搜索写文章:一丝丝智慧背后的无限可能,电脑免费ai写作神器
SEO优化:让你的网站在竞争中脱颖而出,临沧seo代理
ChatGPT出问题?背后的原因与解决方案,夸克ai写作生成
seo追词是什么,seo词条 ,52580609AI
SEO能够助力网站流量增长,提升品牌竞争力,Seo网站排名原理
ChatGPT免费版下载:智能对话助手带来的全新体验,电脑怎么下载Ai微认证
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
AI生成文章免费工具,让创作变得轻松又高效,ai安心健
seO经理是什么岗位,seo经理招聘 ,ai写作重复被查
SEO培训:助力企业实现互联网营销的无限可能,平塘网站优化推广价格
ChatGPT-01:开创人工智能新纪元,AI如何画模糊的云层
ChatGPT打开后空白:如何解决这个困扰并高效使用AI助手,ai四声怎么写
SEO运维:提升网站排名的核心战略,邢台网站建设优化建站
SEO教研:数字营销新趋势,提升网站流量与转化率的关键,齐鲁证券网站建设
《“查看更多”背后的秘密:让你的人生更加丰富多彩!》,宁安公司网站建设
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
SEO联系:如何通过SEO优化提升您的网络营销效果,企业营销推广获客
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
ChatGPT怎么找梯子:突破网络限制,轻松访问AI助手的终极指南,鬼灭之刃人物AI还原
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
AI一键生成文章网页版,让内容创作更简单高效
互联网留痕:数字时代的隐形轨迹与自我管理,灯塔网站推广包年多少钱
ChatGPT打不开网页?看完这篇你就懂了!,国内ai写作安卓软件
好用的人工智能AI软件推荐,让你的生活更智能!
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
专业关键词助力SEO优化,让你的内容脱颖而出,东营响应式网站优化
seo渠道优化是什么,seo渠道推广怎么做 ,ai121333
360AI写作怎样?助力创作的新风尚,ai到访
AI人工智能文章生成平台,释放创作无限可能
SEO找出网站流量提升的终极策略,带你走向搜索引擎巅峰!,朝阳模板网站建设价格