org.json.JSONException:值成功

时间:2014-05-11 02:43:28

标签: android

在这里,我试图从PHP服务器获得响应。我在logcat中的响应是这样的

05-11 08:04:43.760:E / IMAGE_RESPONSE(10577):成功

05-11 08:04:43.760:E / IMAGE_RESPONSE(10577):警告:无法修改标头信息 - 已经发送的标头(输出从/home/swapclon/rails2.swapclone开始。 com / eventdemo / upload.php:14) /home/swapclon/rails2.swapclone.com/eventdemo/upload.php 20

05-11 08:04:43.760:E / IMAGE_RESPONSE(10577):{" msg":"成功!!","名称": " logo_49152_forest.jpeg"" name_old":" forest.jpeg"}

我获取响应的Android代码是这样的..

   String response1 = EntityUtils.toString(response.getEntity());
           Log.e("IMAGE_RESPONSE",response1);
           dialog.dismiss();


           if(response1.contains("name"))
           {
               Log.e("ifff","iff");
               jsobje = parseJSON(response1); 
               if(jsobje != null) 
               {
                  String iii= jsobje.getString("name");
               }
           }

1 个答案:

答案 0 :(得分:0)

Here my first response get converted into JSON. But I only want to convert 

问题是您的第一个回复不是有效的JSON。我更喜欢在方法

中添加JSON解析
public JSONObject parseJSON(String response){

    try {
        return new JSONObject(response);
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return null;
}

现在,您将知道答案是否为Valid JSON。因此,更改逻辑以调用此方法将JSON String解析为JSONObject,然后访问JSON attributes,如果不为空

 String response1 = EntityUtils.toString(response.getEntity());
 Log.e("IMAGE_RESPONSE",response1);
 dialog.dismiss();
 jsobje = parseJSON(response1);
 if(jsonobje != null) {
    String iii= jsobje.getString("name");
 }