Json字符串与Object、List、Map的互转工具类

介绍:在Java中,经常会使用Json格式的字符串来传输数据,但是在Java程序内部我们又需要把Json字符串转换为Java对象来方便的操作数据。本文将介绍如何使用Json相关的工具类将Json字符串转换为Java对象,并将Java对象转换为Json格式的字符串。

  1. 将Json字符串转换为Java对象

当我们有一个Json格式的字符串需要转换为Java对象时,可以使用Json相关的工具类,例如Google的Gson库或Fastjson库。下面以Fastjson为例,介绍如何把Json字符串转换为Java对象。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class JsonToObject {

    public static void main(String[] args) {
        String jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
        JSONObject jsonObject = JSON.parseObject(jsonString);
        String name = jsonObject.getString("name");
        int age = jsonObject.getIntValue("age");
        String city = jsonObject.getString("city");
        Person person = new Person(name, age, city);
        System.out.println(person);
    }

    static class Person {
        private String name;
        private int age;
        private String city;

        public Person(String name, int age, String city) {
            this.name = name;
            this.age = age;
            this.city = city;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", city='" + city + '\'' +
                    '}';
        }
    }
}

可以看到,我们使用了Fastjson的JSON.parseObject方法将Json字符串转换为了一个Json对象,然后通过Json对象中提供的方法,来取出需要的数据,最后将取出的数据组装成Java对象。

2.将Java对象转换为Json格式的字符串

当我们有一个Java对象需要转换为Json格式的字符串时,可以使用Json相关的工具类,例如Google的Gson库或Fastjson库。下面以Fastjson为例,介绍如何把Java对象转换为Json格式的字符串。

import com.alibaba.fastjson.JSON;

public class ObjectToJson {

    public static void main(String[] args) {
        Person person = new Person("John", 30, "New York");
        String jsonString = JSON.toJSONString(person);
        System.out.println(jsonString);
    }

    static class Person {
        private String name;
        private int age;
        private String city;

        public Person(String name, int age, String city) {
            this.name = name;
            this.age = age;
            this.city = city;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", city='" + city + '\'' +
                    '}';
        }
    }
}

可以看到,我们使用了Fastjson的JSON.toJSONString方法,将Java对象转换为了Json格式的字符串。

实验结果:

使用以上两种方式转换,均可以将Json格式的字符串与Java对象相互转换。

概括:

本文介绍了如何使用Json相关的工具类快速的将Json字符串转换为Java对象,并将Java对象转换为Json格式的字符串。在实际开发中,如果项目中已经引入了Json相关的工具类库,可以直接使用相关的方法进行转换,否则需要先添加相关的工具类库。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Json字符串与Object、List、Map的互转工具类 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • java 异常被catch后 将会继续执行的操作

    Java 异常被 catch 后,程序会执行 catch 块中的代码,而不是直接终止程序的执行。在处理完异常后,程序可以选择恢复正常状态并继续执行,或者让异常传递到更高级别的异常处理程序进行处理。 下面是 Java 异常被 catch 后将会继续执行的操作的完整攻略: 恢复程序正常状态 当程序发生异常时,可以在 catch 块中编写代码来恢复程序的正常状态。…

    Java 2023年5月27日
    00
  • Spring Boot和Kotlin的无缝整合与完美交融

    关于Spring Boot和Kotlin的无缝整合,下面是完整攻略: 1. 确认项目中包含Spring Boot 在开始整合Kotlin之前,您需要确保您的项目使用了Spring Boot框架。如果您还没有使用Spring Boot,您可以在官网上找到详细的说明文档和示例。 2. 添加Kotlin依赖 要将Kotlin添加到Spring Boot应用程序中,…

    Java 2023年5月19日
    00
  • 不使用浏览器运行javascript代码的方法

    不使用浏览器运行JavaScript代码的方法有很多种,以下是其中几种常见的方法: 1. Node.js Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以将JavaScript代码运行在服务器端,并提供了很多常用的模块,比如文件系统、网络、加密、内存数据库等。安装Node.js后,可以使用node命令来运行JavaScrip…

    Java 2023年5月23日
    00
  • springboot自定义starter实现过程图解

    首先我们来讲解一下「springboot自定义starter实现过程图解」这个话题,它主要分为以下几个步骤: 1. 确定Starter功能 首先,我们需要明确自己想要的 Starter 功能,例如:一个 MariaDB 组件的 Starter,我们需要确定它的功能、作用和 API。这样才能在后续的开发中清晰地了解我们想要开发什么。 2. 创建Maven工程并…

    Java 2023年5月19日
    00
  • java开发只要tomcat设计模式用的好下班就能早

    Java开发只要Tomcat设计模式用的好下班就能早,这句话的含义是,如果在Java Web项目的开发中,我们能够使用适当的Tomcat设计模式,能够显著的提高开发效率,而且在上线后也能够减少服务器资源的使用,从而让我们能够更早地下班,实现工作和生活的平衡。 以下是两条具体的示例说明: 使用Tomcat连接池 连接池技术可以显著提高Web项目的性能,并且能够…

    Java 2023年6月2日
    00
  • Java读取数据库表的示例代码

    以下是Java读取数据库表的完整攻略。 概述 在Java中,我们可以通过JDBC API来与关系型数据库进行交互。通过JDBC API,我们可以实现数据的增删改查等操作。本文将讲解如何使用Java读取数据库表的示例代码。 步骤 以下是使用Java读取数据库表的步骤: 步骤一:加载数据库驱动 在使用JDBC API之前,需要先加载相关的数据库驱动。可以使用Cl…

    Java 2023年5月26日
    00
  • 使用idea的database模块绘制数据库er图的方法

    使用Idea的Database模块可以非常方便地绘制数据库ER图,具体的步骤如下: 1. 安装Idea的Database插件 首先,我们需要在Idea的插件库中搜索“Database”,然后按照提示安装该插件。 2. 连接数据库 连接数据库的过程可以有多种方式,这里我们以连接MySQL数据库为例: 点击左上角的“Database”按钮,进入“Database…

    Java 2023年5月20日
    00
  • Mybatis-Plus 搭建与使用入门(小结)

    Mybatis-Plus 搭建与使用入门(小结) 本文介绍了如何使用 Mybatis-Plus 搭建一个基本的 CRUD 应用,并对其进行增强功能的使用。整个过程包含以下步骤: 1. 环境准备 为了使用 Mybatis-Plus,我们需要在项目中添加相关的依赖: <dependency> <groupId>com.baomidou&l…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部