使用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日

相关文章

  • Spring Security如何为用户示例添加角色详解

    为用户添加角色,是在Spring Security中实现权限控制的重要手段。下面我将详细讲解Spring Security如何为用户示例添加角色,并提供两个示例说明。 1. 添加角色和权限 首先,需要添加角色和权限至Security配置文件中。示例配置代码如下: spring: security: user: name: admin password: ad…

    Java 2023年6月3日
    00
  • 浅谈一下Spring的核心基础IOC与DI

    Spring的核心基础IOC与DI 介绍 Spring是一个非常流行的Java应用程序开发框架,它通过Inversion of Control (IOC)和Dependency Injection (DI)提供了强大的依赖注入功能,使得Java开发者可以更容易地编写出低耦合度、易扩展的应用程序。 IOC IOC也叫控制反转,它是Spring的核心基础之一。所…

    Java 2023年5月31日
    00
  • 深入理解JavaScript中的对象

    深入理解JavaScript中的对象 什么是JavaScript中的对象 在JavaScript中,对象是一种复合数据类型,可以将它们看作是键值对的集合,其中每个键都是字符串类型,每个值可以是任何数据类型,包括更多的对象。JavaScript中的对象有两种基本类型:内置对象和自定义对象。内置对象指的是在JavaScript中已经定义好的对象,例如Math、D…

    Java 2023年5月26日
    00
  • Java开发中为什么要使用单例模式详解

    单例模式是一种创建型设计模式,用于确保一个特定类只能有一个实例,并且提供全局访问点。在Java开发中,单例模式是一个常用的设计模式,因为它可以帮助我们管理应用程序中的全局状态,减少内存使用,并提高代码的可测试性。 下面是Java开发中为什么要使用单例模式的详细攻略: 1. 避免对象的重复创建 在应用程序中,某些对象只需要一个实例,如果每次需要使用该对象时都创…

    Java 2023年5月26日
    00
  • java中stringBuilder的用法详解

    下面就为大家详细讲解“java中StringBuilder的用法详解”的完整攻略。 什么是StringBuilder 在Java中,StringBuilder是一个可以修改的字符串,提供了很多操作字符串的方法,比如添加字符、插入字符、删除字符等。StringBuilder和String之间最大的不同是StringBuilder是可变的,而String是不可变…

    Java 2023年5月26日
    00
  • Java面向对象实现汽车租赁系统

    Java实现汽车租赁系统 概述 本文主要讲解如何使用Java语言来实现一个基本的汽车租赁系统。系统主要有两个角色:租客和汽车出租公司。 功能需求 系统需要实现以下功能: 租客可以查看汽车清单。 租客可以选择汽车并进行租赁。 汽车出租公司可以添加、删除汽车。 汽车出租公司可以查看当前租赁情况。 开发环境 开发环境: Java JDK 1.8 Eclipse I…

    Java 2023年5月24日
    00
  • 深入了解SpringBoot中@ControllerAdvice的介绍及三种用法

    我们来详细讲解“深入了解SpringBoot中@ControllerAdvice的介绍及三种用法”的完整攻略。 介绍 @ControllerAdvice是Spring MVC提供的一个用于全局异常处理、数据绑定等工作的注解。使用@ControllerAdvice不仅能够处理所有控制器中抛出的异常,还能实现一些额外的公共处理逻辑,比如记录日志,返回统一格式的错…

    Java 2023年5月15日
    00
  • Java实现搜索功能代码详解

    Java实现搜索功能代码详解 在Java Web应用程序开发中,搜索功能通常是必不可少的一个功能。本文将介绍如何使用Java实现搜索功能,包括搜索框处理、全文搜索等功能。 处理搜索框请求 在Java Web应用程序中,处理搜索功能的第一步是处理搜索框的请求。搜索框通常是一个包含输入框和提交按钮的HTML表单。例如,以下是一个简单的搜索框: <form …

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