Home > Enterprise >  How to retreive data from Json using java
How to retreive data from Json using java

Time:12-22

hi guys i have json response like this

  Response response = service.execute(requestSendToNS);
       // JSONObject jsonResponse = new JSONObject(response);
        //String data = jsonResponse.getString("id");
        System.out.println("Response Body : "   response.getBody());

and here the result :

Response Body : [{"status":"success","message":"update success","id":"1404","internalid":2604},{"status":"failed","message":"bad location is already used in another location","id":1405}]

my question is how to getting value "id" from my json response ?

i have try use this code :

// JSONObject jsonResponse = new JSONObject(response);
        //String data = jsonResponse.getString("id");

i also have use this List responseObject = objectMapper.readValue(response.getBody(),List);

but i cannot mapping from json Array to object

but i cannot retreive value from id

CodePudding user response:

Your response body is an array.

[{...},{...}]

That's why you can't get id

String data = jsonResponse.getString("id");

Please have a look JsonReader to read json as JsonArray

https://docs.oracle.com/javaee/7/api/javax/json/JsonReader.html#readObject--

JsonReader jsonReader = Json.createReader(new StringReader(response.getBody()));
JsonArray array = jsonReader.readArray();
JsonObject obj = array.getJsonObject(0);
String data = obj.getString("id");

CodePudding user response:

First, you have to create a class that has the exact same structure as the JSON response, and then you can use ObjectMapper from jackson library to write the JSON to class and read the values from it.

  • Related