详解Java中String JSONObject JSONArray List<实体类>转换

下面是详解Java中String、JSONObject、JSONArray以及List<实体类>之间的转换攻略。

将String转换为JSONObject

在Java中,可以通过JSONObject类将一个字符串转换为JSON对象,具体操作如下:

String jsonString = "{\"name\":\"小明\",\"age\":18}";
JSONObject jsonObject = JSONObject.parseObject(jsonString);

其中,jsonString是一个包含JSON数据的字符串,jsonObject是将jsonString转换后的JSON对象。

将JSONObject转换为String

将一个JSON对象转换为字符串,可以使用toString()方法,例如:

JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "小明");
jsonObject.put("age", 18);
String jsonString = jsonObject.toString();

其中,jsonObject是一个JSON对象,jsonString是将jsonObject转换后的字符串。

将String转换为JSONArray

将一个包含JSON数组的字符串转换为JSONArray对象,可以使用JSONArray的静态方法parseArray(),例如:

String jsonArrayStr = "[{\"name\":\"小明\",\"age\":18},{\"name\":\"小红\",\"age\":20}]";
JSONArray jsonArray = JSONArray.parseArray(jsonArrayStr);

其中,jsonArrayStr是一个包含JSON数组的字符串,jsonArray是将jsonArrayStr转换后的JSONArray对象。

将JSONArray转换为String

将一个JSONArray对象转换为字符串,可以使用toString()方法,例如:

JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("name", "小明");
jsonObject1.put("age", 18);
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("name", "小红");
jsonObject2.put("age", 20);
jsonArray.add(jsonObject1);
jsonArray.add(jsonObject2);
String jsonArrayStr = jsonArray.toString();

其中,jsonArray是一个JSONArray对象,jsonArrayStr是将jsonArray转换后的字符串。

将List<实体类>转换为JSONArray

将一个包含实体类的List转换为JSONArray对象,需要进行如下操作:

List<Student> studentList = new ArrayList<>();
studentList.add(new Student("小明", 18));
studentList.add(new Student("小红", 20));
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(studentList));

其中,Student是一个实体类,studentList是一个包含Student对象的列表,jsonArray是将studentList转换后的JSONArray对象。

将JSONArray转换为List<实体类>

将一个JSONArray对象转换为List<实体类>,需要进行如下操作:

JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("name", "小明");
jsonObject1.put("age", 18);
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("name", "小红");
jsonObject2.put("age", 20);
jsonArray.add(jsonObject1);
jsonArray.add(jsonObject2);
List<Student> studentList = JSON.parseArray(jsonArray.toString(), Student.class);

其中,jsonArray是一个JSONArray对象,Student是一个实体类,studentList是将jsonArray转换后的包含Student对象的列表。

以上就是Java中String、JSONObject、JSONArray以及List<实体类>之间转换的详细攻略。

示例一:

String jsonString = "{\"name\":\"小明\",\"age\":18}";
JSONObject jsonObject = JSONObject.parseObject(jsonString);
System.out.println(jsonObject.getString("name")); // 输出:小明
System.out.println(jsonObject.getInteger("age")); // 输出:18
String jsonString2 = jsonObject.toString();
System.out.println(jsonString2); // 输出:{"name":"小明","age":18}

示例二:

List<Student> studentList = new ArrayList<>();
studentList.add(new Student("小明", 18));
studentList.add(new Student("小红", 20));
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(studentList));
System.out.println(jsonArray.toString());
List<Student> studentList2 = JSON.parseArray(jsonArray.toString(), Student.class);
for (Student student : studentList2) {
    System.out.println(student.getName() + " " + student.getAge());
}

输出:

[{"age":18,"name":"小明"},{"age":20,"name":"小红"}]
小明 18
小红 20

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Java中String JSONObject JSONArray List<实体类>转换 - Python技术站

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

相关文章

  • 什么是线程优先级?

    以下是关于线程优先级的完整使用攻略: 什么是线程优先级? 线程优先级是指线程在竞争 CPU 资源时的优先级。线程优先级越高,就有可能获得 CPU 资源,从而更快地执行任务。线程优先级的取值范围是 1~10,其中 1 表示低先级,10 表示最高优先级。 线程优先级的设置 线程优先级的设置需要使用 Thread 类的 setPriority() 方法来实现。在 …

    Java 2023年5月12日
    00
  • System.currentTimeMillis()计算方式与时间的单位转换详解

    针对题目中提出的主题,我将分以下几个部分进行详细解释: System.currentTimeMillis()的计算方式 时间单位转换的详解 示例代码 1. System.currentTimeMillis()的计算方式 在Java中,System.currentTimeMillis()方法可以获取当前系统时间。其返回值是以毫秒为单位表示从1970年1月1日0…

    Java 2023年5月20日
    00
  • Spring Boot超详细分析启动流程

    Spring Boot是基于Spring框架的一种快速开发框架,它通过自动化配置和约定大于配置的方式,可以快速的搭建一个Web应用。 Spring Boot启动流程主要分为三个阶段:准备阶段、上下文创建阶段、启动阶段。 准备阶段 Spring Boot准备阶段主要是读取应用程序的配置文件,获取配置文件中自定义的配置内容,并为后续的启动做好一些准备工作。准备阶…

    Java 2023年5月19日
    00
  • Sprint Boot @Valid使用方法详解

    以下是关于Spring Boot中@Valid的作用与使用方法的完整攻略,包含两个示例: @Valid的作用 @Valid是Spring Boot提供的一个注解,用于在控制器方法中验证请求参数的有效性。它可以用于验证请求参数的格式、类型、长度等方面的有效性,以确保应用程序的正确性和安全性。 @Valid的使用方法 以下是使用@Valid的示例: 验证请求参数…

    Java 2023年5月5日
    00
  • Java实现数组转字符串及字符串转数组的方法分析

    下面我将详细讲解Java实现数组转字符串及字符串转数组的方法分析。 1. 数组转字符串 1.1 Arrays.toString() 首先讲解的是通过Arrays.toString()方法把数组转为字符串。这种方法对于一维数组和二维数组都可以使用,示例如下: int[] arr = {1, 2, 3, 4, 5}; String str1 = Arrays.t…

    Java 2023年5月26日
    00
  • Java内存泄漏的原因是什么?

    针对Java内存泄漏原因这一问题,我来详细讲解一下。 什么是Java内存泄漏? 首先,我们需要先了解什么是Java内存泄漏。Java内存泄漏指的是,虽然一些对象已经不再被程序所用,但是Java的垃圾回收器却无法回收这些对象的内存空间。这些没被回收的内存空间被占据,随着时间的推移内存空间将会越来越紧张,最终会导致程序的崩溃。 那么,Java内存泄漏的原因是什么…

    Java 2023年5月11日
    00
  • JSP过滤器防止Xss漏洞的实现方法(分享)

    实现JSP过滤器来防止XSS漏洞的方法如下: 在web.xml文件中添加过滤器配置 在web.xml文件中添加以下过滤器配置: <filter> <filter-name>XssFilter</filter-name> <filter-class>com.example.XssFilter</filter…

    Java 2023年6月15日
    00
  • SpringBoot学习篇之@Valid与@Validated的区别

    下面是SpringBoot学习篇之@Valid与@Validated的区别的攻略。 一、@Valid和@Validated的作用 在SpringMVC中,@Valid和@Validated注解全部用于校验参数。使用它们可以大大简化代码和提高代码的可读性。 二、@Valid和@Validated的区别 @Valid是JSR-303/JSR-349规范中的注解,…

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