Android Can';t使用Volley库获取JSON
我正在使用Volley库获取JSON。我无法使用运行在Android2.3上的emulator加载JSON,其他版本都可以。我不知道为什么它不能获取JSON,特别是在2.3设备上 JSON对象请求:Android Can';t使用Volley库获取JSON,android,json,android-volley,Android,Json,Android Volley,我正在使用Volley库获取JSON。我无法使用运行在Android2.3上的emulator加载JSON,其他版本都可以。我不知道为什么它不能获取JSON,特别是在2.3设备上 JSON对象请求: private void makeJsonObjectRequest(){ pDialog=新建进度对话框(MainActivity.this); setMessage(“请稍候…”); pDialog.setCancelable(假); showpDialog(); final JsonObjec
private void makeJsonObjectRequest(){
pDialog=新建进度对话框(MainActivity.this);
setMessage(“请稍候…”);
pDialog.setCancelable(假);
showpDialog();
final JsonObjectRequest JSONObjectReq=新的JsonObjectRequest(Request.Method.GET,
urlJsonObj,null,新响应。侦听器(){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
extractJSONArray(response.getJSONArray(“住宿”),“住宿”);
}捕获(JSONException e){
e、 printStackTrace();
}
adapter.notifyDataSetChanged();
hidepDialog();
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.d(“Error:,Error.getCause().toString());
错误。printStackTrace();
hidepDialog();
}
});
AppController.getInstance().addToRequestQueue(JSONOBJEQ);
}
有什么想法吗?好的,首先使用Gson图书馆,它会让你的生活更轻松: 然后把你的回答记下来,例如
public class Accommodation {
public String id;
public String icon;
public String name;
public String nameEn;
public String type;
public String fotoLinks;
public String address;
public String workHours;
public String description;
public String descriptionEn;
public String votes;
public String voters;
public String number;
public String email;
public String latitude;
public String longitude;
}
现在,组合所有pojo类以匹配您的服务器响应:
public class ServerResponse {
public List<Accommodation> Accommodation;
public List<CashMachines> Cash_machines; // assuming you have CashMachines as well like above
}
公共类服务器响应{
公共列表。请确保从下载gson jar文件
请注意,现有代码将立即开始使用此url,也就是说,您甚至不需要为返回的所有类型创建pojo类,只要在需要时继续添加pojo类即可。您的web服务是否正常工作?它是否给出了预期的响应?将urlJsonObj的值粘贴到导航器上的新选项卡上,然后我可以看看你的JSONObject抱歉,误解了,但是新标签在哪里?我的错,我的意思是说浏览器不是导航器。在你的互联网浏览器上(Chrome、Firefox、Safari等)打开一个新的选项卡,粘贴urlJsonObj的值,然后按enterOh,是的,一切都很好,json在浏览器上看起来很合适。phone在其他Android版本上获得json,但在2.3上没有。两者上的链接相同,但结果不同。也许你知道我为什么不能添加gson库吗?一切看起来都很好,但当我尝试编译时,它给了我意外的顶级异常,我认为它以某种方式覆盖了gson库。
public class ServerResponse {
public List<Accommodation> Accommodation;
public List<CashMachines> Cash_machines; // assuming you have CashMachines as well like above
}
Request<ServerResponse> request = new GsonRequest<ServerResponse>(Request.Method.GET,
url,AnalyticsData.class, new Response.Listener<ServerResponse>() {
@Override
public void onResponse(ServerResponse response) {
// user response here
Log.d(">>", response.Accommodation.size()+"");
}, errorListener);