java 语言解析json用到什么类什么方法_java读取文件内容

java 语言解析json用到什么类什么方法_java读取文件内容在 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对象的示例代码:

 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的解析方式如下:

 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`的数组,并遍历打印每个素。

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

编程小号
上一篇 2025-01-12 09:56
下一篇 2025-01-12 09:51

相关推荐

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