详解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日

相关文章

  • Spring AOP官方文档学习笔记(三)之基于xml的Spring AOP

    1.声明schema,导入命名空间 (1)如果我们想要使用基于xml的spring aop,那么,第一步,我们需要在xml配置文件中声明spring aop schema,导入命名空间,如下这是一个标准的模板 <?xml version=”1.0″ encoding=”UTF-8″?> <beans xmlns=”http://www.sp…

    Java 2023年5月4日
    00
  • Java复制(拷贝)数组的五种方法汇总

    Java复制(拷贝)数组的五种方法汇总 一、使用for循环逐一复制 这是最基本的数组复制方法,适用于任何类型的数组。代码示例如下: int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = new int[arr1.length]; // 创建空数组,长度等于原数组 for (int i = 0; i < arr1.leng…

    Java 2023年5月26日
    00
  • Java中创建ZIP文件的方法

    创建ZIP文件是Java中常见的操作之一。Java提供了许多方法来操作ZIP文件。下面是创建ZIP文件的完整攻略。 1. 导入相关的包 为了创建ZIP文件,我们需要导入Java的ZipEntry和ZipOutputStream类。ZipEntry类可以表示ZIP文件中的每个条目的元数据,而ZipOutputStream类允许我们将数据写入ZIP文件。 imp…

    Java 2023年5月20日
    00
  • jdbc操作数据库的基本流程详解

    当使用Java语言操作关系型数据库时,通常使用Java Database Connectivity(JDBC)API。JDBC API通过驱动向数据库提供连接,允许开发人员使用标准的Java语言编写SQL语句,以在关系型数据库中执行数据操作。 以下是jdbc操作数据库的基本流程: 加载数据库驱动程序:在Java应用程序中,必须首先加载适当的JDBC驱动程序,…

    Java 2023年5月20日
    00
  • Java使用反射操作数组示例

    Java反射是在程序运行时可以动态获取类的信息并操作类的属性、方法和构造器。在Java中,数组是一种特殊类型的对象,因此也可以使用反射操作数组。本文将讲述如何使用Java反射操作数组,包括获取数组信息、读取/修改数组元素、创建新数组等。 获取数组信息 要对数组进行反射操作,首先需要获取数组对象的所有信息,常用的方法有以下两种: // 获取数组类型 Strin…

    Java 2023年5月26日
    00
  • Springboot接收 Form 表单数据的示例详解

    Springboot接收 Form 表单数据的示例详解 在Springboot项目中,我们通常需要处理表单数据。这里我们将介绍如何接收Form表单数据,并完成对应的业务逻辑。 请求方式 在Springboot中,表单数据通常是通过POST请求提交的。所以,我们需要使用@RequestMapping注解来处理POST请求。 @PostMapping(&quot…

    Java 2023年5月20日
    00
  • java7 新I/O知识点详解

    Java7 新 I/O 知识点详解 介绍 Java7 引入了一些新的 I/O(输入输出)特性,主要是为了优化文件 I/O 操作,使之更加高效和灵活。其中主要包括以下几个方面: 支持异步 I/O 操作的 NIO API 支持读取和写入字符串的 NIO API 自动资源管理(ARM)特性,即 try-with-resources 操作 文件系统的改进 下面将分别…

    Java 2023年5月24日
    00
  • 什么是EVB?EVB技术的简单介绍

    下面是关于EVB的详细讲解。 什么是EVB? EVB全称为Evaluation Board(评估板),是一种硬件开发工具,用于快速评估和开发不同种类的芯片、模块、传感器等硬件设备。它通常包括主板、外设接口、调试器等硬件和相关的软件开发工具。EVB与PCB(Printed Circuit Board,印刷电路板)相比,更注重快速原型和快速评估,能够快速搭建出一…

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