0

Am working on android project Upon calling the api its throwing the exception as below. i think everything has done correctly but too long am fed up on this exception.

org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject

here my code

public class APIConnectionManager {

    private static int CONNECTION_TIMEOUT = 60000;
    static JSONObject response = null;
    public static final int GET = 1;
    public static final int POST = 2;


    /**
     * Function to place a get call to the customer profile API that returns a JSONObject
     *
     * @param url     - The path to the resource
     * @param params - A list of name value pairs
     * @return    - JSONObject
     */
    public JSONObject doCustomerAPIGet(String url, int method, List<NameValuePair> params) {

        try{

            // http client
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpEntity httpEntity = null;
            HttpResponse httpResponse = null;

            // check the http method request type
            if(method==POST){

                HttpPost httpPost = new HttpPost(url);

                // adding post params
                if(params!=null){

                    httpPost.setEntity(new UrlEncodedFormEntity(params));
                }

                httpResponse = httpClient.execute(httpPost);
            }else if (method==GET){

                // appending params to the url
                if (params!=null) {
                    String paramString = URLEncodedUtils.format(params, "utf-8");

                    url += "?" + paramString;
                }

                HttpGet httpGet = new HttpGet(url);

                httpResponse = httpClient.execute(httpGet);
            }

            httpEntity = httpResponse.getEntity();

            String result = EntityUtils.toString(httpEntity);

            response = new JSONObject(result);


        }catch (UnsupportedEncodingException e){
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (JSONException e){
            e.printStackTrace();
        }

        return response;

    }
}

error pointing at this line

response = new JSONObject(result);

likewise am getting response

{"data":{"customerno":1339451,"loyalty_id":"9700354522","firstname":"raju","lastname":"king","email":"rajucse45@gmail.com","mobile":"9700354522","address":"1st street","city":"chennai","pincode":"600028","links":[]},"status":"success"}

can someone please advise on this.

Raju
  • 1,183
  • 3
  • 11
  • 19

1 Answers1

1

You are not getting response which can be converted into JSON. There is an error in your API response so just debug your app and show the error to your API developer.

Nikhil
  • 3,711
  • 8
  • 32
  • 43