java中解析json_json对象和json数组

java中解析json_json对象和json数组在 Java 中解析包含数组的 JSON 对象通常需要使用第三方库 如 Gson Jackson 或 Fastjson 以下是使用 Gson 库解析包含数组的 JSON 对象的示例代码 javaimport com google gson Gson import com google gson reflect TypeToken import java lang reflect Type import

在Java中解析包含数组的JSON对象通常需要使用第三方库,如Gson、Jackson或Fastjson。以下是使用Gson库解析包含数组的JSON对象的示例代码:

java

import com.google.gson.Gson;

import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;

import java.util.List;

public class JsonArrayExample {

public static void main(String[] args) {

String json = "[{\"name\": \"Alice\", \"age\": 25}, {\"name\": \"Bob\", \"age\": 30}]";

// 创建一个Gson对象

Gson gson = new Gson();

// 使用TypeToken来指定解析的类型

Type listType = new TypeToken >() {}.getType();

// 解析JSON字符串为List 对象

List persons = gson.fromJson(json, listType);

// 打印解析后的对象

for (Person person : persons) {

System.out.println("Name: " + person.getName() + ", Age: " + person.getAge());

}

}

}

// 定义一个简单的Java类来表示Person

class Person {

private String name;

private int age;

// Getter 和 Setter 方法

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

在上面的代码中,我们首先创建了一个包含JSON数组的字符串`json`,然后使用Gson库的`fromJson`方法将JSON字符串解析为`List 
                               
    
    
      `对象。`TypeToken`用于指定解析时需要的类型信息。 
    如果你需要使用其他库,比如Jackson或Fastjson,步骤类似,只是需要导入相应的库并调整解析代码。例如,使用Fastjson的解析方式如下:java

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

public class FastjsonExample {

public static void main(String[] args) {

String json = "{\"data\":[{\"school_name\":\"西北农林科技大学\",\"school_id\":8},{\"school_name\":\"西北大学\",\"school_id\":6},{\"school_name\":\"西北工业大学\",\"school_id\":7},{\"school_name\":\"陕西师范大学\",\"school_id\":11}],\"msg\":\"列表获取成功\",\"status\":0}";

// 解析JSON字符串为JSONObject对象

JSONObject jsonObj = JSON.parseObject(json);

// 获取JSON对象中的数组

JSONArray jsonArr = jsonObj.getJSONArray("data");

// 遍历数组并打印每个素

for (int i = 0; i < jsonArr.size(); i++) {

JSONObject school = jsonArr.getJSONObject(i);

System.out.println("School Name: " + school.getString("school_name") + ", School ID: " + school.getInt("school_id"));

}

}

}

在这个例子中,我们使用Fastjson的`parseObject`方法将JSON字符串解析为`JSONObject`对象,然后从中获取名为`data`的数组,并遍历打印每个素。

请根据你的具体需求选择合适的库和解析方法。

编程小号
上一篇 2026-03-14 10:56
下一篇 2026-03-14 10:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/74102.html