Json error converting JSONObject

1

I have tried in every possible way, I have a script that receives a json that comes from an url of a web api, but when I try to pass it by JSONObject it throws me error, this is the piece of the code where it gives error

Response responses = null;
try {
    responses = client.newCall(request).execute();
    json = responses.body().string();
} catch (IOException e) {
    e.printStackTrace();
}

JSONObject jsonObj = new JSONObject(json);
// Getting JSON Array node
JSONArray contacts = jsonObj.getJSONArray("records");
for (int i = 0; i < contacts.length(); i++) {
    JSONObject c = contacts.getJSONObject(i);
    String id = c.getString("idintelisis");
    System.out.println("TESTEEEEEEEEEEEEEEEEEEEEEEE: " + id);
}

This is the error you send

  

01-10 15: 57: 44.114 29347-18969 / pa.com.tropigas.pedidostf W / System.err:   org.json.JSONException: Value   {"data": [{"idintelisis": 71553, "observations": "Purchase Order   5593. "," Date ":" 05/18/2016 "," car ":" CIST-03 "," cargapkt ":" 2 "}, {" idintelisis ": 72023," observations ":" Order   Purchase   5631. "," date ":" 05/26/2016 "," car ":" CE-04 "," cargapkt ":" 2 "}, {" idintelisis ": 72722," observations ":" Order   Purchase   5788. "," Date ":" 06/29/2016 "," car ":" CE-07 "," cargapkt ":" 2 "}, {" idintelisis ": 73652," observations ":" Order   Purchase   5871. "," date ":" 07/20/2016 "," carriage ":" CE-04 "," cargapkt ":" 2 "}, {" idintelisis ": 73660," observations ":" Order   Purchase   5944. "," Date ":" 08/05/2016 "," car ":" CE-07 "," cargapkt ":" 2 "}, {" idintelisis ": 74296," observations ":" Order   Purchase   6064. "," date ":" 09/02/2016 "," carriage ":" CE-05 "," cargapkt ":" 2 "}, {" idintelisis ": 75230," observations ":" Order   Purchase   6092. "," Date ":" 09/10/2016 "," carriage ":" CE-07 "," cargapkt ":" 2 "}, {" idintelisis ": 75199," observations ":" Order   Purchase   6105. "," Date ":" 09/14/2016 "," carriage ":" CE-06 "," cargapkt ":" 2 "}, {" idintelisis ": 74567," observations ":" Order   Purchase   6112 "," date ":" 09/15/2016 "," carriage ":" CE-06 "," cargapkt ":" 2 "}, {" idintelisis ": 74893," observations ":" Order   Purchase   6115. "," Date ":" 09/16/2016 "," carriage ":" CE-03 "," cargapkt ":" 2 "}, {" idintelisis ": 75123," observations ":" Order   Purchase   6190. "," Date ":" 03/10/2016 "," car ":" PT-03 "," cargapkt ":" 2 "}, {" idintelisis ": 75234," observations ":" Order   Purchase   6190 .. "," date ":" 03/10/2016 "," carriage ":" PT-03 "," cargapkt ":" 2 "}, {" idintelisis ": 75451," observations ":" Order   Purchase   6249 "," date ":" 10/18/2016 "," carriage ":" CE-05 "," cargapkt ":" 2 "}, {" idintelisis ": 75668," observations ":" Order   Purchase   6261. "," Date ":" 10/20/2016 "," car ":" CE-05 "," cargapkt ":" 2 "}, {" idintelisis ": 75840," observations ":" Order   Purchase   6324 "," date ":" 11/02/2016 "," carriage ":" CE-04 "," cargapkt ":" 2 "}, {" idintelisis ": 76240," observations ":" Order   Purchase   6339. "," Date ":" 11/07/2016 "," car ":" PT-03 "," cargapkt ":" 2 "}, {" idintelisis ": 76147," observations ":" Order   Purchase   6346. "," Date ":" 11/08/2016 "," carriage ":" PT-03 "," cargapkt ":" 2 "}, {" idintelisis ": 77370," observations ":" Order   Purchase   6545 "," date ":" 12/28/2016 "," car ":" CE-04 "," cargapkt ":" 2 "}, {" idintelisis ": 77343," observations ":" Order   Purchase   6551 "," date ":" 12/29/2016 "," car ":" CE-04 "," cargapkt ":" 2 "}, {" idintelisis ": 77444," observations ":" Order   Purchase   6564 "," date ":" 03/01/2017 "," car ":" CE-04 "," cargapkt ":" 2 "}, {" idintelisis ": 77467," observations ":" Order   Purchase   6566 "," date ":" 01/03/2017 "," car ":" CE-05 "," cargapkt ":" 2 "}, {" idintelisis ": 77478," observations ":" Order   Purchase 6567 "," date ":" 03/01/2017 "," car ":" CE-05 "," cargapkt ":" 2 "}]}   of type java.lang.String can not be converted to JSONObject 01-10   15: 57: 44.114 29347-18969 / pa.com.tropigas.pedidostf W / System.err:
  at org.json.JSON.typeMismatch (JSON.java) 01-10 15: 57: 44.115   29347-18969 / pa.com.tropigas.pedidostf W / System.err: at   org.json.JSONObject. (JSONObject.java) 01-10 15: 57: 44.115   29347-18969 / pa.com.tropigas.pedidostf W / System.err: at   org.json.JSONObject. (JSONObject.java) 01-10 15: 57: 44.115   29347-18969 / pa.com.tropigas.pedidostf W / System.err: at   pa.com.tropigas.pedidostf.CarrosActivity $ POST.doInBackground (CarrosActivity.java:102)   01-10 15: 57: 44.115 29347-18969 / pa.com.tropigas.pedidostf W / System.err:   at   pa.com.tropigas.pedidostf.CarrosActivity $ POST.doInBackground (CarrosActivity.java:68)   01-10 15: 57: 44.115 29347-18969 / pa.com.tropigas.pedidostf W / System.err:   at android.os.AsyncTask $ 2.call (AsyncTask.java) 01-10 15: 57: 44.115   29347-18969 / pa.com.tropigas.pedidostf W / System.err: at   java.util.concurrent.FutureTask.run (FutureTask.java) 01-10   15: 57: 44.115 29347-18969 / pa.com.tropigas.pedidostf W / System.err:
  at android.os.AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java) 01-10   15: 57: 44.115 29347-18969 / pa.com.tropigas.pedidostf W / System.err:
  at   java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java)   01-10 15: 57: 44.115 29347-18969 / pa.com.tropigas.pedidostf W / System.err:   at   java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java)   01-10 15: 57: 44.115 29347-18969 / pa.com.tropigas.pedidostf W / System.err:   at java.lang.Thread.run (Thread.java)

The error log includes the json that is being brought from the url, it is for a project in Android

    
asked by Heisenberg06 10.01.2017 в 21:05
source

2 answers

2

The problem is the Json, the message indicates:

  

value .... of type java.lang.String can not be converted to JSONObject

It does not recognize your JSON, since the last element in the "records" array contains a , which causes an error.

Remove the last , and you can process your Json without problems.

    
answered by 10.01.2017 в 21:40
1

Review the data format:

{"records":["idintel ... 6567","fecha":"01/03/2017","carro":"CE-05","cargapkt":"2"},]}

According to what I remember of JSON, there is a "," that is left over at the end of the data.

And it seems that now you are looking for "records" but your array is now called "data" according to log ...

    
answered by 10.01.2017 в 21:29