用Java JSONArray 读取数据

在Java编程中,我们经常需要读取和处理JSON格式的数据。JSONArrayorg.json包中的一个类,它可以帮助我们读取JSON数组数据。本文将介绍如何使用JSONArray类来读取数据,并给出一个简单的示例。

什么是JSONArray

JSONArrayorg.json包中的一个类,用于表示JSON格式的数组数据。它继承自ArrayList类,因此可以像操作普通ArrayList一样操作JSON数组。JSONArray可以包含任意类型的数据,例如字符串、数字、对象或者数组等等。

如何使用JSONArray读取数据

首先,我们需要导入org.json包。在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20210307</version>
</dependency>

接下来,我们可以使用以下代码示例来读取JSON数组数据:

import org.json.JSONArray;
import org.json.JSONObject;

public class Main {
    public static void main(String[] args) {
        String jsonStr = "[{\"name\":\"Alice\",\"age\":20},{\"name\":\"Bob\",\"age\":25}]";
        JSONArray jsonArray = new JSONArray(jsonStr);

        for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject obj = jsonArray.getJSONObject(i);
            String name = obj.getString("name");
            int age = obj.getInt("age");
            System.out.println("Name: " + name + ", Age: " + age);
        }
    }
}

在上面的代码中,我们首先创建了一个JSON格式的数组字符串jsonStr,然后使用JSONArray类将其转换为JSONArray对象。接着,我们遍历JSONArray对象,并使用getJSONObject方法获取每个数组元素的JSONObject,再通过getStringgetInt方法获取对应的值。

示例

为了更好地说明如何使用JSONArray读取数据,我们来看一个旅行计划的JSON数据示例:

[
    {"destination": "Paris", "days": 5},
    {"destination": "Tokyo", "days": 7},
    {"destination": "New York", "days": 3}
]

下面是使用JSONArray读取并打印旅行计划数据的示例代码:

import org.json.JSONArray;
import org.json.JSONObject;

public class TravelPlanner {
    public static void main(String[] args) {
        String travelData = "[{\"destination\":\"Paris\",\"days\":5},{\"destination\":\"Tokyo\",\"days\":7},{\"destination\":\"New York\",\"days\":3}]";
        JSONArray jsonArray = new JSONArray(travelData);

        System.out.println("Travel Plan:");
        for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject obj = jsonArray.getJSONObject(i);
            String destination = obj.getString("destination");
            int days = obj.getInt("days");
            System.out.println("- Destination: " + destination + ", Days: " + days);
        }
    }
}

运行以上代码,我们可以看到输出结果:

Travel Plan:
- Destination: Paris, Days: 5
- Destination: Tokyo, Days: 7
- Destination: New York, Days: 3

结语

通过本文的介绍,我们学习了如何使用JSONArray类来读取JSON数组数据。JSONArray类提供了简单而方便的方法来处理JSON格式的数组数据,帮助我们更好地处理和解析JSON数据。希望本文对您有所帮助!