1. JSONObject(Android 内置):
JSONObject 是 Android 内置的 JSON 解析类,用于解析和构建 JSON 数据。它适用于简单的 JSON 数据解析。
示例代码:
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JsonParser {
public static void parse(String jsonData) {
try {
JSONObject jsonObject = new JSONObject(jsonData);
// 获取JSONObject中的数据
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
// 获取JSONArray中的数据
JSONArray hobbiesArray = jsonObject.getJSONArray("hobbies");
for (int i = 0; i < hobbiesArray.length(); i++) {
String hobby = hobbiesArray.getString(i);
// 在这里处理获取到的数据
// ...
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
2. Gson 库:
Gson 是 Google 提供的用于处理 JSON 数据的库,它提供了更灵活、方便的 API,并支持将 JSON 数据直接映射到 Java 对象。
示例代码:
import com.google.gson.Gson;
import java.util.List;
public class JsonParser {
public static void parse(String jsonData) {
Gson gson = new Gson();
// 使用 Gson 将 JSON 数据映射到 Java 对象
Person person = gson.fromJson(jsonData, Person.class);
// 获取映射后的数据
String name = person.getName();
int age = person.getAge();
List<String> hobbies = person.getHobbies();
// 在这里处理获取到的数据
// ...
}
}
其中,Person 类需要具有与 JSON 数据对应的字段,例如:
public class Person {
private String name;
private int age;
private List<String> hobbies;
// 必须提供默认构造函数
public Person() {
}
// 提供相应的 getter 方法
public String getName() {
return name;
}
public int getAge() {
return age;
}
public List<String> getHobbies() {
return hobbies;
}
}
使用示例:
String jsonData = "Your JSON data here";
// 使用 JSONObject 解析
JsonParser.parse(jsonData);
// 使用 Gson 解析
JsonParser.parse(jsonData);
在实际应用中,选择使用哪种方式取决于项目需求和个人喜好。如果 JSON 数据结构相对简单,而且只需提取少量字段,可以考虑使用 JSONObject。如果 JSON 数据结构较为复杂,或者需要将 JSON 数据映射到 Java 对象中,推荐使用 Gson 库。
转载请注明出处:http://www.zyzy.cn/article/detail/15195/Android