我一直在努力弄清楚如何用 Java 做一些基本的事情..
我收到了一个对 API 的请求,该请求返回以下 JSON。
{"success": false, "message": "some string", "data": []}
这由以下字符串 result
表示:
JsonObject root = new JsonParser().parse(result).getAsJsonObject();
success = root.getAsJsonObject("success").getAsBoolean();
我需要获取 boolean 值形式的“成功”参数。 getAsBoolean()
调用出错。
java.lang.ClassCastException: com.google.gson.JsonPrimitive cannot be cast to com.google.gson.JsonObject
我做错了什么?如何获取“success”的 boolean 值?
最佳答案
破坏您的代码的原因是您调用了错误的方法...
做
success = root.get("success").getAsBoolean();
代替
success = root.getAsJsonObject("success").getAsBoolean();
示例:
public static void main(String[] args) {
String result = "{\"success\": false, \"message\": \"some string\", \"data\": []}";
JsonObject root = new JsonParser().parse(result).getAsJsonObject();
boolean success = root.get("success").getAsBoolean();
}
关于java - 解析 JSON - 无法从 JsonObject 获取 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37889026/