【发布时间】:2017-01-14 11:58:31
【问题描述】:
我正在尝试读取一个简单的 JSON 响应:
{
"response": "ok"
}
这是我的代码:
JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
String response = null;
boolean success = false;
reader.beginObject();
if (reader.hasNext()) {
String token = reader.nextName();
if (token.equals("response")) {
response = reader.nextString();
} else {
reader.skipValue();
}
}
reader.endObject();
reader.close();
但我收到此错误:
java.lang.IllegalStateException:预期为
STRING,但为BEGIN_OBJECT
我不明白我做错了什么。
【问题讨论】:
-
强烈建议使用
gson库来处理类似的事情......删除大量样板代码并且不易出错。 -
JsonReader 在 gson 库中
-
github.com/google/gson .....尤其是将您的 Java POJO 映射到/从 json 映射,而不是使用自定义代码。