2016-07-11 13 views
0

Das ist mein Code:JSONP- Java String kann nicht in JSONObject (Android) umgewandelt werden

String json = request.excutePost("http://192.168.1.42:3000/login_client",urlParameters); 
JSONObject jsonObj = new JSONObject(json); 

Die Logcat mir den nächsten Fehler angezeigt:

org.json.JSONException: Value {"login_client":"NEW_PASSWORD","token":"2de374f454699aa6fe895c56bc3a111b33f28b72888aec1f5faa77977e232828"} of type java.lang.String cannot be converted to JSONObject

, dass die executePost Funktion ist:

public String excutePost(String targetURL, String urlParameters) { 
    HttpURLConnection connection = null; 
    try { 

     //Create connection 
     URL url = new URL(targetURL); 
     connection = (HttpURLConnection)url.openConnection(); 
     connection.setRequestMethod("POST"); 
     connection.setRequestProperty("Content-Type", 
       "application/x-www-form-urlencoded"); 

     connection.setRequestProperty("Content-Length", 
       Integer.toString(urlParameters.getBytes().length)); 
     connection.setRequestProperty("Content-Language", "en-US"); 

     connection.setUseCaches(false); 
     connection.setDoOutput(true); 

     //Send request 
     DataOutputStream wr = new DataOutputStream (
       connection.getOutputStream()); 
     wr.writeBytes(urlParameters); 
     wr.close(); 
     //Get Response 
     InputStream is = connection.getInputStream(); 
     BufferedReader rd = new BufferedReader(new InputStreamReader(is)); 
     StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+ 
     String line; 

     while((line = rd.readLine()) != null) 
     { 
      response.append(line); 
      response.append('\r'); 
     } 
     rd.close(); 
     //respuesta = response.toString().replaceAll("\"",); 
     Log.e("RESPONSE",response.toString()); 
     return response.toString(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return null; 
    } finally { 
     if(connection != null) { 
      connection.disconnect(); 
     } 
    } 
} 
+0

, was den Wert Ihrer „json ist "Schnur? – pooyan

+0

Mögliches Duplikat von [JSONException: Wert vom Typ java.lang.String kann nicht in JSONObject konvertiert werden] (http://stackoverflow.com/questions/10267910/jsonexception-value-of-type-java-lang-string-cannot- werden gewandelt-to-JSONObject) –

+0

Könnten Sie Körper von excutePost – phongvan

Antwort

0

Ihr Problem ist, dass Ihre Zeichenfolge h wie nicht gut formatiert um zu konvertieren. es sollte etwas, was so aussehen:

"{\"login_client\":\"NEW_PASSWORD\",\"token\":\"2de374f454699aa6fe895c56bc3a111b33f28b72888aec1f5faa77977e232828\"} " 

den Code versuchen Gebrüll:

import org.json.simple.JSONObject 

String json = request.excutePost("http://192.168.1.42:3000/login_client",urlParameters); 
JSONObject obj = new JSONParser().parse(json).getAsJsonObject(); 

für weitere Informationen zu dieser Frage einen Blick: How to convert String to JSONObject in Java

+0

Symbol kann nicht aufgelöst werden ‚JsonParser ' – dgallardo

+0

welche Art von Paket verwenden Sie? das wird mit org.json arbeiten – pooyan

+0

@ dgallardo ich habe meine Antwort bearbeitet. – pooyan

0
String json = new String(request.excutePost("http://192.168.1.42:3000/login_client",urlParameters)); 
Log.e("Response",""+json); 
+0

der Fehler persist – dgallardo

+0

versuchen, diese, meine bearbeitet Code –

+0

dank aber keine Änderungen – dgallardo

Verwandte Themen