我试图在android中使用JSON获取值,下面是我的代码,它显示了请求队列期间的空指针异常和错误 /** *方法发出json数组请求,其中响应以[ *从url请求数据 * */ 私有字符串urlJsonArry_local=”http://www.endorecord.in/endorecord/hospitaladmin/Api/device_hospitals.php?deviceid="; 私有void makeJsonArrayRequest(){ showpDialog(); JsonArrayRequest req=新的JsonArrayRequest(urlJsonArry_local+androidID, 新的Response.Listener(){ @凌驾 公共void onResponse(JSONArray响应){ Log.d(TAG,response.toString()); 试一试{ //解析json数组响应 //循环遍历每个json对象 jsonResponse=“”; 对于(int i=0;i
您应该在请求中传递url我试图在android中使用JSON获取值,下面是我的代码,它显示了请求队列期间的空指针异常和错误 /** *方法发出json数组请求,其中响应以[ *从url请求数据 * */ 私有字符串urlJsonArry_local=”http://www.endorecord.in/endorecord/hospitaladmin/Api/device_hospitals.php?deviceid="; 私有void makeJsonArrayRequest(){ showpDialog(); JsonArrayRequest req=新的JsonArrayRequest(urlJsonArry_local+androidID, 新的Response.Listener(){ @凌驾 公共void onResponse(JSONArray响应){ Log.d(TAG,response.toString()); 试一试{ //解析json数组响应 //循环遍历每个json对象 jsonResponse=“”; 对于(int i=0;i,android,Android,您应该在请求中传递url“http://www.google.com“+android不是这个。您上面提到的UrlurlJsonArry_local返回的是json对象响应而不是jsonArray,您的代码和json响应完全不相关 对于上面url中的Json响应 私有字符串urlJsonArry_local=“” RequestQueue queue=MyVolley.getRequestQueue(); JsonObjectRequest jsObjRequest=新的JsonObjectRe
“http://www.google.com“+android
不是这个。您上面提到的UrlurlJsonArry_local
返回的是json对象响应而不是jsonArray,您的代码和json响应完全不相关
对于上面url中的Json响应
私有字符串urlJsonArry_local=“”
RequestQueue queue=MyVolley.getRequestQueue();
JsonObjectRequest jsObjRequest=新的JsonObjectRequest(Request.Method.POST,urlJsonArry_local,null/*此处传递的参数*/,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
JSONObject jObject=响应;
字符串状态=jObject.getString(“状态”);
JSONArray hospitalArray=jObject.getJSONArray(“医院”);
//您的for循环在此解析医院阵列
hideProgressDialog();
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
hideProgressDialog();
}
});
add(jsObjRequest);
请发布日志中的相关行,并告诉我们哪些行与日志中报告的行相对应。Bro下面您可以找到我的日志,我想问题出在第11-24行13:42:34.220:E/AndroidRuntime(22142):java.lang.RuntimeException:无法启动活动组件信息{com.networksys.doclogin/com.networksys.doclogin.ActivityMain}:java.lang。NullPointerException@Nafeel是否有任何同名的自定义类??示例与android中的相同查看itApplication Force Close是否可以发布日志,是否在清单中提供了internet权限
/**
* Method to make json array request where response starts with [
* Requesting data from url
* */
private String urlJsonArry_local = "http://www.endorecord.in/endorecord/hospitaladmin/Api/device_hospitals.php?deviceid=";
private void makeJsonArrayRequest() {
showpDialog();
JsonArrayRequest req = new JsonArrayRequest(urlJsonArry_local +androidID,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
try {
// Parsing json array response
// loop through each json object
jsonResponse = "";
for (int i = 0; i < response.length(); i++) {
JSONObject person = (JSONObject) response
.get(i);
String name = person.getString("hospitalid");
String email = person.getString("hospital_name");
/*JSONObject phone = person
.getJSONObject("phone");
String home = phone.getString("home");
String mobile = phone.getString("mobile");
*/
jsonResponse += "Name: " + name + "\n\n";
jsonResponse += "Email: " + email + "\n\n";
//jsonResponse += "Home: " + home + "\n\n";
//jsonResponse += "Mobile: " + mobile + "\n\n\n";
}
Toast.makeText(getApplicationContext(), jsonResponse, Toast.LENGTH_LONG).show();
//txtResponse.setText(jsonResponse);
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
}
hidepDialog();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_SHORT).show();
hidepDialog();
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(req);
}
RequestQueue queue = MyVolley.getRequestQueue();
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.POST,urlJsonArry_local,null/* paramateres passed here*/,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
JSONObject jObject = response;
String status = jObject.getString("status");
JSONArray hospitalArray = jObject.getJSONArray("hospital");
//your for loop to parse hospital array here
hideProgressDialog();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
hideProgressDialog();
}
});
queue.add(jsObjRequest);