Java 基于GSON结构的JSON解析
我曾在另一个项目中尝试过这样做,根据我所看到的教程,我知道我走上了正确的道路,但我无法正确地进行解析: (大大简化)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
{
"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);