【发布时间】:2011-08-26 20:59:12
【问题描述】:
知道为什么 JSON 不会映射到 java 对象吗?
代码..
String result = "{\"outerclass\":{\"innerclass\":{\"booleanA\":true,\"stringB\":\"b\",\"stringC\":\"c\"}}}\n";
Gson gson = new Gson();
TempObject o = gson.fromJson(result,TempObject.class);
POJO..
public class TempObject {
public static class outerclass {
public static class innerclass {
public static boolean booleanA;
public static String stringB;
public static String stringC;
}
}
}
其他例子..
String result = "{\"idata\":{\"result\":{\"error\":true,\"errorMessage\":\"Invalid username and/or password\",\"requestTime\":\"2011-08-26T18:39:02Z\"}}}";
Gson gson = new Gson();
UserData d = gson.fromJson(result, UserData.class);
类..
public class UserData {
idata data;
public static class idata {
result res;
public static class result {
public boolean error;
public String errorMessage;
public String requestTime;
}
}
}
【问题讨论】:
-
您遇到什么错误或失败?
-
没有错误信息。 o 为空,o.outerclass.innerclass.stringB 返回 null
-
嗯,一切看起来都很好。您可能应该尝试编译代码(如上所述)并确保在您的真实代码中的某处没有任何小错字。也许把 \n 放在你的字符串末尾,它没有用。
-
我添加了 \n 因为来自外部 API 的真实 JSON 响应在末尾有换行符。
标签: json gson deserialization