Errores de json-parsing en tiempo de ejecución

Estoy tratando de enviar alguna información de registro a un servidor php desde mi aplicación para Android .

Tengo dos clases: RegisterActivity y JSONParser . Mientras intento ejecutar este programa hay algunos errores como este:

Error parsing data org.json.JSONException: Value not of type java.lang.String cannot be converted to JSONObject" and "android.os.AsyncTask$3.done(AsyncTask.java:299)

Aquí está mi código:

RegisterActivity.java

 public class RegisterActivity extends Activity { private ProgressDialog pDialog; JSONParser jsonParser = new JSONParser(); EditText username; EditText email; EditText password; EditText RePass; private static String url_create_product = "http://oranz.co/pmdtest/index.php"; private static final String TAG_SUCCESS = "sucess"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set View to register.xml setContentView(R.layout.register); Button registerscreen=(Button)findViewById(R.id.btnCntnueRegister); // Listening to Login Screen link email = (EditText)findViewById(R.id.reg_email); password =(EditText)findViewById(R.id.reg_password); username =(EditText)findViewById(R.id.reg_username); RePass = (EditText)findViewById(R.id.rereg_password); EditText passwords=(EditText)findViewById(R.id.reg_password); passwords.setTransformationMethod(new PasswordTransformationMethod()); EditText repasswords = (EditText) findViewById(R.id.rereg_password); repasswords.setTransformationMethod(new PasswordTransformationMethod()); registerscreen.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) { Context context = getApplicationContext(); int duration = Toast.LENGTH_SHORT; if(email.getText().toString().equals("")&&password.getText().toString().equals("")&&username.getText().toString().equals("")&&RePass.getText().toString().equals("")) { Toast toast = Toast.makeText(context, "Please Enter a valed data. !", duration); toast.show(); } else if(email.getText().toString().equals("")||password.getText().toString().equals("")||username.getText().toString().equals("")||RePass.getText().toString().equals("")) { Toast toast = Toast.makeText(context, "Please check any field is blank. !", duration); toast.show(); } else if(password.getText().toString().compareTo(RePass.getText().toString())==0) { Intent k = new Intent(getApplicationContext(), ContinueRegister.class); startActivity(k); new CreateNewUser().execute(); } else { Toast toast = Toast.makeText(context, "Password matching is failed. !", duration); toast.show(); } } }); TextView loginScreen = (TextView) findViewById(R.id.link_to_login); loginScreen.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent m = new Intent(getApplicationContext(),LoginActivity.class); startActivity(m); } }); } class CreateNewUser extends AsyncTask<String, String, String> { @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(RegisterActivity.this); pDialog.setMessage("Creating Product.."); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show(); } protected String doInBackground(String... args) { String Username = username.getText().toString(); String Email = email.getText().toString(); String Password = password.getText().toString(); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("Username", Username)); params.add(new BasicNameValuePair("Email", Email)); params.add(new BasicNameValuePair("Password",Password)); // getting JSON Object // Note that create product url accepts POST method JSONObject json = jsonParser.makeHttpRequest(url_create_product, "POST", params); // check log cat fro response Log.d("Create Response", json.toString()); // check for success tag try { int success = json.getInt(TAG_SUCCESS); if (success == 1) { // successfully created user Intent i = new Intent(getApplicationContext(),FinishSignupActivity.class); startActivity(i); // closing this screen finish(); } else { // failed to create user } } catch (JSONException e) { e.printStackTrace(); } return null; } /** * After completing background task Dismiss the progress dialog * **/ protected void onPostExecute(String file_url) { // dismiss the dialog once done pDialog.dismiss(); } } } 

JSONParser.java :

 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; // constructor public JSONParser() { } // function get json from url // by making HTTP POST or GET method 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; } } 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.