android怎么解析json数据

Android提供了多种方法来解析JSON数据,以下是常见的两种方法:

使用JSONObject和JSONArray类:

首先将JSON字符串转换为JSONObject对象,例如:

String jsonString = "{'name':'John', 'age':30, 'city':'New York'}";
JSONObject jsonObject = new JSONObject(jsonString);

然后可以通过键来获取对应的值,例如:

String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String city = jsonObject.getString("city");

如果JSON字符串中包含数组,可以使用JSONArray类来解析,例如:

String jsonString = "{'students': [{'name':'John', 'age':20}, {'name':'Kate', 'age':22}]}";
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray studentsArray = jsonObject.getJSONArray("students");
for (int i = 0; i < studentsArray.length(); i++) {
    JSONObject studentObject = studentsArray.getJSONObject(i);
    String name = studentObject.getString("name");
    int age = studentObject.getInt("age");
    // 处理每个学生的数据
}

使用Gson库:

首先要在build.gradle文件中添加Gson库的依赖:

implementation 'com.google.code.gson:gson:2.8.6'

然后可以使用Gson库来将JSON字符串转换为Java对象,例如:

String jsonString = "{'name':'John', 'age':30, 'city':'New York'}";
Gson gson = new Gson();
MyClass obj = gson.fromJson(jsonString, MyClass.class);

MyClass是一个自定义的类,它的字段需要与JSON字符串中的键对应,例如:

public class MyClass {
    private String name;
    private int age;
    private String city;
    
    // 省略构造方法和getter/setter方法
}

以上是两种常见的JSON解析方法,根据实际情况选择适合的方法进行解析。

阅读剩余
THE END