Я использую следующий код для удаления данных JSON с Url. Но моя ошибка: значение {"InvoiceNo": 18} типа java.lang.String не может быть преобразовано в JSONObject.My Json Like: "{\" InvoiceNo \ ": 18}« Пожалуйста, помогите мне.Как преобразовать строку в объект JSON?
private class LongOperation extends AsyncTask{
@Override
protected Object doInBackground(Object[] params) {
HttpResponse response = null;
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(
"http://192.168.1.2/Json/api/test"));
response = client.execute(request);
} catch (URISyntaxException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String responseText = null;
try {
responseText = EntityUtils.toString(response.getEntity());
} catch (IOException e) {
e.printStackTrace();
}
try {
JSONObject json = new JSONObject(responseText); // **Error on this line**
Iterator<String> keys = json.keys();
while (keys.hasNext()) {
String key = keys.next();
String value = null;
try {
value = json.getString(key);
Toast.makeText(Billing.this, value + "",
Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
textInvoice.setText(value.toString());
}
} catch (JSONException e) {
e.printStackTrace();
}
Log.i("responseText", responseText);
return null;
}
}
Недействительный JSON тогда? –
Я уже проверял, что это действительно json и hardcode. Эта строка json отлично работает @ScaryWombat –
распечатывает значение 'responseText' перед' new JSONObject (responseText); ' –