关于Java中Json的各种处理

Java中Json的处理攻略

Json是什么?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON格式可以用来描述“键值对”(key-value)类别的数据,通常用于Web服务与Web程序之间的数据交换。

Java中Json的处理方法

1. 使用JSON库

Java中有很多处理JSON的库,比如Gson、Jackson、Fastjson等。我们这里以Gson为例。Gson是Google开源的一个Java库,可以将json字符串转换为Java对象或者将Java对象转换成json字符串。

转换为Java对象

假设有如下JSON字符串:

{
    "id": 123,
    "name": "小明",
    "age": 18
}

我们可以用Gson将其转换为Java对象:

Gson gson = new Gson();
String json = "{\"id\":123,\"name\":\"小明\",\"age\":18}";
Person person = gson.fromJson(json, Person.class);
System.out.println(person.getId());
System.out.println(person.getName());
System.out.println(person.getAge());

其中,Person是一个Java类,其定义如下:

public class Person {
    private int id;
    private String name;
    private int age;

    // 省略getter和setter方法
}

上述代码的输出结果为:

123
小明
18

转换为JSON字符串

假设有如下Java对象:

Person person = new Person();
person.setId(123);
person.setName("小明");
person.setAge(18);

我们可以用Gson将其转换为JSON字符串:

Gson gson = new Gson();
String json = gson.toJson(person);
System.out.println(json);

输出结果为:

{"id":123,"name":"小明","age":18}

2. 使用JSONObject和JSONArray

Java SE从JDK1.7版本开始,提供了处理JSON格式的API,其中包括JSONObject和JSONArray。

转换为Java对象

假设有如下JSON字符串:

{
    "id": 123,
    "name": "小明",
    "age": 18
}

我们可以用JSONObject将其转换为Java对象:

String json = "{\"id\":123,\"name\":\"小明\",\"age\":18}";
JSONObject jsonObject = new JSONObject(json);
int id = jsonObject.getInt("id");
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
System.out.println(id);
System.out.println(name);
System.out.println(age);

输出结果为:

123
小明
18

转换为JSON字符串

假设有如下Java对象:

JSONObject jsonObject = new JSONObject();
jsonObject.put("id", 123);
jsonObject.put("name", "小明");
jsonObject.put("age", 18);

我们可以用JSONObject将其转换为JSON字符串:

String json = jsonObject.toString();
System.out.println(json);

输出结果为:

{"id":123,"name":"小明","age":18}

处理JSONArray

JSONArray是Java SE处理JSON格式的API之一,可以用来处理JSON数组类型的数据。

假设有如下JSON字符串:

[
    {
        "id": 1,
        "name": "电影1",
        "duration": 120
    },
    {
        "id": 2,
        "name": "电影2",
        "duration": 130
    }
]

我们可以用JSONArray将其转换为Java数组:

String json = "[{\"id\":1,\"name\":\"电影1\",\"duration\":120},{\"id\":2,\"name\":\"电影2\",\"duration\":130}]";
JSONArray jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = jsonArray.getJSONObject(i);
    System.out.println(jsonObject.getInt("id"));
    System.out.println(jsonObject.getString("name"));
    System.out.println(jsonObject.getInt("duration"));
}

输出结果为:

1
电影1
120
2
电影2
130

总结

本文介绍了Java中Json的两种处理方式:使用JSON库和使用JSONObject和JSONArray。其中,使用JSON库可以快速地将JSON字符串转换为Java对象或者将Java对象转换成JSON字符串,但需要引入第三方库;使用JSONObject和JSONArray则是Java SE自带的处理JSON格式的API,可以不依赖第三方库。根据不同的需求,可灵活选择使用哪种方式进行Json数据处理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Java中Json的各种处理 - Python技术站

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

相关文章

  • Spring boot配置绑定和配置属性校验的方式详解

    以下是关于“Spring boot配置绑定和配置属性校验的方式详解”的完整攻略,包含两个示例说明。 Spring boot配置绑定和配置属性校验的方式详解 背景 在开发 Spring Boot 应用时,我们经常需要配置一些参数,比如数据库连接信息、服务端口等等。而在应用部署时,这些参数也需要灵活地根据不同的环境进行配置,比如开发环境、测试环境、生产环境等等。…

    Java 2023年6月15日
    00
  • Spring Boot打包war jar 部署tomcat

    下面详细讲解一下“Spring Boot打包war/jar部署tomcat”的完整攻略。 1. 打包war包并部署到tomcat 第一步:创建Spring Boot项目 首先需要创建一个Spring Boot项目,可以使用IDEA、Eclipse等开发工具创建,也可以使用Spring Initializr在线生成项目模板。 第二步:添加依赖 在项目的pom.…

    Java 2023年5月19日
    00
  • java如何获取本地操作系统进程列表

    获取本地操作系统进程列表可以使用Java自带的管理类java.lang.management.ManagementFactory和java.lang.management.RuntimeMXBean。 首先,我们需要通过ManagementFactory类的getRuntimeMXBean()方法获得当前运行时的RuntimeMXBean对象,然后即可调用该…

    Java 2023年5月24日
    00
  • java实现数字炸弹

    Java实现数字炸弹是一种常见的编程练习,主要是为了训练学生对于递归算法的理解和运用能力,以下是数字炸弹的完整攻略: 什么是数字炸弹? 数字炸弹指的是在一个数字序列中寻找出现次数最高的数字,并将出现次数最高的数字从序列中删除,接着重复以上步骤,直到序列为空。 怎样实现数字炸弹? 1. 将数字序列分解为数字数组 在Java中,我们可以将数字序列转化为数字数组,…

    Java 2023年5月23日
    00
  • Java中的IllegalArgumentException是什么?

    以下是详细讲解Java中的IllegalArgumentException的攻略。 1. 异常概述 1.1 异常类型 Java语言中的异常分为两大类:可查异常(checked exception)和运行时异常(unchecked exception)。 可查异常通常发生在程序运行正常情况下,例如读写文件、网络IO等操作时发生的异常。如果不处理它们,编译器会报…

    Java 2023年4月27日
    00
  • tomcat虚拟主机_动力节点Java学院整理

    Tomcat虚拟主机 – 动力节点Java学院整理 Tomcat虚拟主机是指在同一台物理服务器上运行多个独立的Tomcat实例,每个Tomcat实例都拥有自己的配置文件、Web应用程序和独立的运行环境。Tomcat虚拟主机技术可以很好地解决多个Web应用程序同时运行、不互相干扰的问题。 过程 1. 修改host文件 首先需要修改hosts文件,将虚拟主机域名…

    Java 2023年6月2日
    00
  • Spring Boot 快速搭建微服务框架详细教程

    下面我来详细讲解“SpringBoot快速搭建微服务框架详细教程”的完整攻略。 一、前置条件 在开始快速搭建微服务框架之前,需要确保已经安装好以下环境: JDK 8或以上版本 Maven IntelliJ IDEA或其他Java开发IDE工具 二、搭建微服务框架 1. 创建SpringBoot项目 在IntelliJ IDEA中创建新项目,选择Spring …

    Java 2023年5月15日
    00
  • java中Calendar类用法实例详解

    Java中Calendar类用法实例详解 什么是Calendar类 Calendar是Java中用于表示日期和时间的类,它提供了一些常用的方法来获取和修改日期和时间信息,同时也支持日期和时间的格式化和解析。 Calendar常用方法 获取日期和时间信息 get(int field):根据给定的日历字段获取其值。 getActualMaximum(int fi…

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