使用Java构造和解析Json数据的两种方法(详解二)

使用Java构造和解析Json数据的两种方法主要有两种实现方式:使用JSONObject和JSONArray类以及使用Gson库。下面分别进行详细讲解:

1.使用JSONObject和JSONArray类

1.1 构造Json数据

通过JSONObject和JSONArray类可以直接构造出相应的Json数据。

1.1.1 构造JSONObject

JSONObject obj = new JSONObject();
obj.put("name", "张三");
obj.put("age", 18);
System.out.println(obj.toString());

运行结果为:

{
  "name": "张三",
  "age": 18
}

1.1.2 构造JSONArray

JSONArray arr = new JSONArray();
arr.add("张三");
arr.add(18);
System.out.println(arr.toString());

运行结果为:

[
  "张三",
  18
]

1.2 解析Json数据

1.2.1 解析JSONObject

String jsonStr = "{\"name\":\"李四\",\"age\":20}";
JSONObject obj = new JSONObject(jsonStr);
String name = obj.getString("name");
int age = obj.getInt("age");
System.out.println("name:" + name + ", age:" + age);

运行结果为:

name:李四, age:20

1.2.2 解析JSONArray

String jsonStr = "[\"李四\",20]";
JSONArray arr = new JSONArray(jsonStr);
String name = arr.getString(0);
int age = arr.getInt(1);
System.out.println("name:" + name + ", age:" + age);

运行结果为:

name:李四, age:20

2.使用Gson库

2.1 构造Json数据

通过Gson库可以将Java对象转换为Json数据。

class Person {
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
Person person = new Person("张三", 18);
Gson gson = new Gson();
String jsonStr = gson.toJson(person);
System.out.println(jsonStr);

运行结果为:

{"name":"张三","age":18}

2.2 解析Json数据

通过Gson库可以将Json数据转换为Java对象。

String jsonStr = "{\"name\":\"李四\",\"age\":20}";
Gson gson = new Gson();
Person person = gson.fromJson(jsonStr, Person.class);
System.out.println("name:" + person.name + ", age:" + person.age);

运行结果为:

name:李四, age:20

以上就是使用Java构造和解析Json数据的两种方法的完整攻略,希望可以帮助您更好地理解和使用Json数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Java构造和解析Json数据的两种方法(详解二) - Python技术站

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

相关文章

  • Elasticsearch搜索功能的实现(五)– 实战

    实战环境 elastic search 8.5.0 + kibna 8.5.0 + springboot 3.0.2 + spring data elasticsearch 5.0.2 + jdk 17 一、集成 spring data elasticsearch 1 添加依赖 <dependency> <groupId>org.sp…

    Java 2023年4月19日
    00
  • Java中创建对象的6种方式

    当我们学习Java编程语言时,经常需要创建对象,Java中创建对象的方式有很多种。本文将介绍Java中创建对象的6种方式,以及每种方式的具体实现和示例。以下是详细攻略: 1.使用new关键字创建对象 使用Java中的new关键字可以创建对象。具体实现为:先声明一个类的变量,然后通过new关键字和类的构造函数来创建对象。 示例: //声明一个变量来保存对象 P…

    Java 2023年5月26日
    00
  • 混乱的Java日志体系及集成jar包梳理分析

    混乱的Java日志体系及集成jar包梳理分析是一篇旨在帮助Java开发者理解Java日志体系和集成jar包的文章。本文将围绕Java日志体系的问题、集成jar包的例子、分析Java日志框架的实现等多方面展开讲解。 一、Java日志体系的问题 在Java开发过程中,我们经常需要使用日志来帮助我们进行调试。但是,Java日志体系却十分混乱,不同的日志框架都有着自…

    Java 2023年5月19日
    00
  • Java动态代理四种实现方式详解

    《Java动态代理四种实现方式详解》是一篇详细介绍Java动态代理技术的文章,本文将从以下几个方面逐一介绍: 什么是Java动态代理 Java动态代理的特点 Java动态代理的四种实现方式 实现示例 总结 1. 什么是Java动态代理 Java动态代理是指在程序运行过程中动态生成代理类的技术。相比于静态代理需要手动编写代理类,动态代理可以让程序更加灵活,更容…

    Java 2023年5月18日
    00
  • Java中通过Class类获取Class对象的方法详解

    Java中通过Class类获取Class对象的方法详解 在Java编程中,我们常常需要获取某个类的Class对象。获取Class对象的主要方法有以下几种: 使用Class.forName()方法 Class.forName()方法根据传入的类名返回对应的Class对象。 java Class<?> clazz = Class.forName(“j…

    Java 2023年5月26日
    00
  • SpringSecurity自定义登录成功处理

    Spring Security是一个基于Spring框架的安全框架,它提供了一系列的安全服务,包括身份验证、授权、攻击防护等。在Spring Security中,我们可以自定义登录成功处理来实现自定义的登录成功逻辑。在本文中,我们将详细讲解Spring Security自定义登录成功处理的完整攻略。 自定义登录成功处理 在Spring Security中,我…

    Java 2023年5月18日
    00
  • MyBatis的模糊查询mapper.xml的写法讲解

    以下是 “MyBatis的模糊查询mapper.xml的写法讲解” 的完整攻略: 概览 模糊查询是指根据某些条件进行筛选,能够在查询结果中包含与检索条件相似但不完全匹配的记录。在MySQL等关系型数据库的开发中,模糊查询是最常见也是非常重要的操作之一。 MyBatis是一种优秀的ORM(Object Relational Mapping)技术,它提供了通过m…

    Java 2023年5月20日
    00
  • 开发实例:JSP中实现全文检索

    下面我将详细讲解“开发实例:JSP中实现全文检索”的完整攻略,包括开发环境的搭建、代码实现、运行调试等内容。 开发环境搭建 在进行本项目的开发之前,我们需要准备好以下工具: Java 8及以上版本 Apache Tomcat 8及以上版本 Eclipse IDE 步骤: 安装Java并设置环境变量; 下载并解压Tomcat,配置Tomcat的环境变量; 下载…

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