【发布时间】:2016-06-19 16:08:02
【问题描述】:
我正在使用 volley,目前我的 volley 没有返回任何内容。
这是我的JSON 数组回复:
{
"forename": "Lukasz",
"surname": "Pioetrszci"
}
在Volley 的onResponse 方法中,我有:
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest
(URLgetUser, new Response.Listener<JSONArray>(){
@Override
public void onResponse(JSONArray jsonArray) {
try {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
forename = jsonObject.getString("forename");
}
}
catch (JSONException e) {
e.printStackTrace();
}
}
}
我相信这与我只有一个事实有关
{
"forename": "Lukasz",
"surname": "Pioetrszci"
}
相对于
[
{
"forename": "Lukasz",
"surname": "Pioetrszci"
},
{
"forename": "Jack",
"surname": "Rabin"
},
{
"forename": "Anil",
"surname": "Chopra"
},
]
【问题讨论】:
-
是的。大概就是这个原因。此外,您的日志猫可能应该显示一些堆栈跟踪,因为您正在捕获异常
-
LogCat 不显示任何内容,因为函数返回一个字符串。默认情况下,如果没有找到,它会返回
null -
使用 Postman 等 REST 客户端检查日志 cat 和响应。
-
将您的 JSON 数据包含在 [ 和 ] 中,即使它是单个对象,也可以将其作为 JSONarray 检索。您能否提供有关数据生成方式的详细信息?
-
如果响应只有
{ "forename": "Lukasz", "surname": "Pioetrszci" },你应该使用JsonObjectRequest来代替
标签: android arrays json android-volley jsonresponse