How to convert JSON to Object and find an id (No Array) - JAVA

0

I have a Json that does not contain an array and I need to get some information from this Json. Follow JSON

 {"_status":"sucesso","_mensagem":"Impressão em processamento","_dados":{"situacao":"PROCESSANDO","protocolo":"BkVglXYWQ"}}

What I've tried so far

JsonReader jsonReader = Json.createReader(new StringReader(jsonProtocolo));
    JsonObject jsonObject = jsonReader.readObject();
    JsonObject attributeDados = jsonObject.getJsonObject("_dados");
    JsonArray jsonArray = attributeDados.getJsonArray("_sucesso");

    String numeroProtocolo = jsonArray.getJsonObject(0).getString("protocolo");

    System.out.println("NUMERO PROTOCOLO: " + numeroProtocolo);

But I get nullPointer on the String String ProtocolNumber = jsonArray.getJsonObject (0) .getString ("protocol"); I've tried it too

 JSONObject obj = new JSONObject(jsonProtocolo);
    String numeroProtocolo = obj.getString("protocolo");

    System.out.println("NUMERO PROTOCOLO: " + numeroProtocolo);

But I get the error: JSONObject ["protocol"] not found

    
asked by anonymous 21.06.2018 / 15:02

3 answers

3

I was able to solve the problem like this

 JSONObject obj = new JSONObject(jsonProtocolo);
    String numeroProtocolo = obj.getJSONObject("_dados").getString("protocolo");

If someone needs this,

    
21.06.2018 / 15:29
4

The problem is here:

String numeroProtocolo = jsonArray.getJsonObject(0).getString("protocolo");

_dados is an object, not an array, try this:

String numeroProtocolo = jsonObject.getJSONObject("_dados").getString("protocolo");

JSON objects are surrounded by {} , while Arrays are surrounded by [] .

    
21.06.2018 / 15:56
1
JSONObject obj = new JSONObject(jsonProtocolo);
JSONObject dados = obj.getJSONObject("_dados");
String numeroProtocolo = dados.getString("protocolo");
    
21.06.2018 / 15:29