千家信息网

Java对象和Json文本怎么实现转换

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍"Java对象和Json文本怎么实现转换",在日常操作中,相信很多人在Java对象和Json文本怎么实现转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2024年11月14日Java对象和Json文本怎么实现转换

这篇文章主要介绍"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 中添加:

  io.njdi  durian-common  ${version}

${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

  • Map

  • Map

  • Map

  • Map

  • Map

  • Map

  • Class

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 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 map = Json.fromJson("{'a': 1, 'b': 2}", Json.JsonType.INT_MAP);
  • Map -> Json.JsonType.INT_MAP

  • Map -> Json.JsonType.LONG_MAP

  • Map -> Json.JsonType.FLOAT_MAP

  • Map -> Json.JsonType.DOUBLE_MAP

  • Map -> Json.JsonType.BOOLEAN_MAP

  • Map -> Json.JsonType.STRING_MAP

  • Map -> Json.JsonType.OBJECT_MAP

Json 文本 转换为 类对象时,需要使用 Class 指定转换对象的类型,如:

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

到此,关于"Java对象和Json文本怎么实现转换"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0