Java 基于GSON结构的JSON解析

Java 基于GSON结构的JSON解析,java,android,json,gson,Java,Android,Json,Gson,我曾在另一个项目中尝试过这样做,根据我所看到的教程,我知道我走上了正确的道路,但我无法正确地进行解析: (大大简化)JSON输出: { "data":{ "info":{ "username": "something" "email" : "something" } .. .. } 我正在尝试使用以下类获取“用户名”和“电子邮件”: class ProfileResponse { static Data data; public static Data ge

我曾在另一个项目中尝试过这样做,根据我所看到的教程,我知道我走上了正确的道路,但我无法正确地进行解析:

(大大简化)JSON输出:

{
"data":{
  "info":{
      "username": "something"
      "email" : "something"
   }
..
..
}

我正在尝试使用以下类获取“用户名”和“电子邮件”:

class ProfileResponse {
static Data data;

public static Data getData() {
    return data;
}

public static void setData(Data data) {
    ProfileResponse.data = data;
}
}

}

反序列化JSON字符串(它是字符串会有问题吗?)


每次运行时都会打印“无用户名”。

静态
字段默认情况下从序列化/反序列化中排除

从类(字段和方法)中删除所有的
static
关键字,正确地调用
fromJson()
,然后您将得到所需的结果

Gson从JSON实例化类的实例。修改类后,您将执行以下操作:

ProfileResponse pr = gson.fromJson(response, ProfileResponse.class); 
class Info {
@SerializedName("username")
static String username;
@SerializedName("email")
static String email;

public static String getUsername() {
    return username;
}

public static String getEmail() {
    return email;
}

}
           Gson gson = new Gson();
                        gson.fromJson(response, ProfileResponse.class);
                        if (Info.getUsername() == null
                                || Info.getUsername().isEmpty()) {
                            System.out.println("NO USERNAME");
                        } else {
                            System.out.println("USERNAME: "
                                    + Info.getUsername());
                        }
ProfileResponse pr = gson.fromJson(response, ProfileResponse.class);