Click here to Skip to main content
15,881,882 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi
I am developing an android app that makes use of webservice for authentication, i am having challemges with the JSONParser
The error is in line 1, coloumn 1 but i dont know how to correct it kindly help

Stack trace

02-18 11:25:34.332    1198-1212/com.example.akinyemi.mysqltest1 E/JSON Parser﹕ Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
02-18 11:25:34.342    1198-1212/com.example.akinyemi.mysqltest1 W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0xb3aecba8)
02-18 11:25:35.132    1198-1212/com.example.akinyemi.mysqltest1 E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1


JSONParser.java

package com.example.mysqltest;
	  
	import java.io.BufferedReader;
	import java.io.IOException;
	import java.io.InputStream;
	import java.io.InputStreamReader;
	import java.io.UnsupportedEncodingException;
	import java.util.List;
	 
	import org.apache.http.HttpEntity;
	import org.apache.http.HttpResponse;
	import org.apache.http.NameValuePair;
	import org.apache.http.client.ClientProtocolException;
	import org.apache.http.client.entity.UrlEncodedFormEntity;
	import org.apache.http.client.methods.HttpGet;
	import org.apache.http.client.methods.HttpPost;
	import org.apache.http.client.utils.URLEncodedUtils;
	import org.apache.http.impl.client.DefaultHttpClient;
	import org.json.JSONException;
	import org.json.JSONObject;
	 
	import android.util.Log;
	  
	public class JSONParser {
	  
	    static InputStream is = null;
	    static JSONObject jObj = null;
	    static String json = "";
	  
	    // constructor
	    public JSONParser() {
	  
	    }
	     
	     
	    public JSONObject getJSONFromUrl(final String url) {
	 
	        // Making HTTP request
	        try {
	            // Construct the client and the HTTP request.
	            DefaultHttpClient httpClient = new DefaultHttpClient();
	            HttpPost httpPost = new HttpPost(url);
	 
	            // Execute the POST request and store the response locally.
	            HttpResponse httpResponse = httpClient.execute(httpPost);
	            // Extract data from the response.
	            HttpEntity httpEntity = httpResponse.getEntity();
	            // Open an inputStream with the data content.
	            is = httpEntity.getContent();
	 
	        } catch (UnsupportedEncodingException e) {
	            e.printStackTrace();
	        } catch (ClientProtocolException e) {
	            e.printStackTrace();
	        } catch (IOException e) {
	            e.printStackTrace();
	        }
	 
	        try {
	            // Create a BufferedReader to parse through the inputStream.
	            BufferedReader reader = new BufferedReader(new InputStreamReader(
	                    is, "iso-8859-1"), 8);
	            // Declare a string builder to help with the parsing.
	            StringBuilder sb = new StringBuilder();
	            // Declare a string to store the JSON object data in string form.
	            String line = null;
	             
	            // Build the string until null.
	            while ((line = reader.readLine()) != null) {
	                sb.append(line + "\n");
	            }
	             
	            // Close the input stream.
	            is.close();
	            // Convert the string builder data to an actual string.
	            json = sb.toString();
	        } catch (Exception e) {
	            Log.e("Buffer Error", "Error converting result " + e.toString());
	        }
	 
	        // Try to parse the string to a JSON object
	        try {
	            jObj = new JSONObject(json);
	        } catch (JSONException e) {
	            Log.e("JSON Parser", "Error parsing data " + e.toString());
	        }
	 
	        // Return the JSON Object.
	        return jObj;
	 
	    }
	     
	  
	    // function get json from url
	    // by making HTTP POST or GET mehtod
	    public JSONObject makeHttpRequest(String url, String method,
	            List<NameValuePair> params) {
	  
	        // Making HTTP request
	        try {
	  
	            // check for request method
	            if(method == "POST"){
	                // request method is POST
	                // defaultHttpClient
	                DefaultHttpClient httpClient = new DefaultHttpClient();
	                HttpPost httpPost = new HttpPost(url);
	                httpPost.setEntity(new UrlEncodedFormEntity(params));
	  
	                HttpResponse httpResponse = httpClient.execute(httpPost);
	                HttpEntity httpEntity = httpResponse.getEntity();
	                is = httpEntity.getContent();
	  
	            }else if(method == "GET"){
	                // request method is GET
	                DefaultHttpClient httpClient = new DefaultHttpClient();
	                String paramString = URLEncodedUtils.format(params, "utf-8");
	                url += "?" + paramString;
	                HttpGet httpGet = new HttpGet(url);
	  
	                HttpResponse httpResponse = httpClient.execute(httpGet);
	                HttpEntity httpEntity = httpResponse.getEntity();
	                is = httpEntity.getContent();
	            }          
	  
	        } catch (UnsupportedEncodingException e) {
	            e.printStackTrace();
	        } catch (ClientProtocolException e) {
	            e.printStackTrace();
	        } catch (IOException e) {
	            e.printStackTrace();
	        }
	  
	        try {
	            BufferedReader reader = new BufferedReader(new InputStreamReader(
	                    is, "iso-8859-1"), 8);
	            StringBuilder sb = new StringBuilder();
	            String line = null;
	            while ((line = reader.readLine()) != null) {
	                sb.append(line + "\n");
	            }
	            is.close();
	            json = sb.toString();
	        } catch (Exception e) {
	            Log.e("Buffer Error", "Error converting result " + e.toString());
	        }
	  
	        // try parse the string to a JSON object
	        try {
	            jObj = new JSONObject(json);
	        } catch (JSONException e) {
	            Log.e("JSON Parser", "Error parsing data " + e.toString());
	        }
	  
	        // return JSON String
	        return jObj;
	  
	    }
	}


I await your reply
Posted
Comments
Mohibur Rashid 18-Feb-15 20:59pm    
You better print log of returned string. I think you are mixing up encoding.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900