参考资料

  1. Java中如何使用Gson解析JSON?
  2. Java: 使用org.json库

简介功能

org.json是一个轻量级的Java库,用于处理JSON数据格式。它提供了解析、生成、转换和操作JSON数据的功能。

详细属性参数说明

  1. JSONObject:

    • put(String key, Object value): 添加键值对

    • get(String key): 获取值

    • opt(String key): 安全获取值(无异常)

    • length(): 返回键值对数量

  2. JSONArray:

    • put(Object value): 添加元素

    • get(int index): 获取元素

    • length(): 返回元素数量

  3. JSONTokener:

    • 用于解析JSON字符串

  4. JSONException:

    • 处理JSON相关异常

使用方法讲解

  1. 添加依赖(Maven):

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20231013</version>
</dependency>
  1. 基本操作:

// 创建JSONObject
JSONObject obj = new JSONObject();
obj.put("name", "John");
obj.put("age", 30);

// 创建JSONArray
JSONArray arr = new JSONArray();
arr.put("item1");
arr.put("item2");

// 解析JSON字符串
JSONObject parsed = new JSONObject("{\"key\":\"value\"}");

案例内容解析

import org.json.*;

public class JsonExample {
    public static void main(String[] args) {
        // 创建JSON对象
        JSONObject employee = new JSONObject();
        employee.put("name", "Alice");
        employee.put("age", 28);
        employee.put("department", "Engineering");
        
        // 添加数组
        JSONArray skills = new JSONArray();
        skills.put("Java");
        skills.put("Python");
        employee.put("skills", skills);
        
        // 生成JSON字符串
        String jsonString = employee.toString();
        System.out.println(jsonString);
        
        // 解析JSON字符串
        JSONObject parsed = new JSONObject(jsonString);
        System.out.println("Name: " + parsed.getString("name"));
        System.out.println("First skill: " + parsed.getJSONArray("skills").getString(0));
    }
}

输出结果:

{
    "name": "Alice",
    "age": 28,
    "department": "Engineering",
    "skills": ["Java", "Python"]
}
Name: Alice
First skill: Java