Satya
Satya

Reputation: 626

RestAssured JsonPath to String

Is there a way to convert the whole JSON path data to a string in Java?

I am working on APIs and their responses are in JSON format. It is easy to understand the JSON structure through Postman/WireShark but I am trying to run an API request through Java, grab the response, convert the raw response to JSON, convert JSON response to a string format and print it. The method '.getString()' is to access a particular element and not the whole data. The method '.toString()' does not work on JSON data either.

    JsonPath json = (ConvertRawFiles.rawtoJSON(response));
    String id   = json.get("id");
    log.info("The id is " + id);

    JsonPath json = (ConvertRawFiles.rawtoJSON(response));
    String complete_json_data   = ???;
    log.info("The complete json data is " + complete_json_data);

The code snippet which is mentioned "???" is what I was trying to achieve.

Upvotes: 3

Views: 6110

Answers (2)

Satya
Satya

Reputation: 626

The methods which can convert a JsonPath object into a String are:

JsonPath json = (ConvertRawFiles.rawtoJSON(response));
String complete_json_data = json.prettify();

and

JsonPath json = (ConvertRawFiles.rawtoJSON(response));
String complete_json_data = json.prettyPrint();

Upvotes: 2

Vineet
Vineet

Reputation: 624

var obj = { "field1":"foo", "age":55, "city":"Honolulu"};
var myJSON = JSON.stringify(obj);

Upvotes: 0

Related Questions