

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to parse a JSON response and get a particular field from the response in Rest Assured?
We can parse a JSON response and get a particular field from Response in Rest Assured. This is done with the help of the JSONPath class. To parse a JSON response, we have to first convert the response into a string.
To obtain the response we need to use the methods - Response.body or Response.getBody. Both these methods are a part of the Response interface.
Once a Response is obtained it is converted to string with the help of the asString method. This method is a part of the ResponseBody interface. Then we shall obtain the JSON representation from the response body with the help of the jsonPath method.
We shall first send a GET request via Postman on a mock API URL and go through the response.
Example
Using Rest Assured, we shall get the values of the Course, id and Price fields.
import org.testng.annotations.Test; import static io.restassured.RestAssured.*; import io.restassured.RestAssured; import io.restassured.path.json.JsonPath; import io.restassured.response.Response; import io.restassured.response.ResponseBody; import io.restassured.specification.RequestSpecification; public class NewTest { @Test void responseExtract() { //base URI with Rest Assured class RestAssured.baseURI = "https://run.mocky.io/v3"; //input details RequestSpecification h = RestAssured.given(); //get response Response r = h.get("/e3f5da9c-6692-48c5-8dfe-9c3348cfd5c7"); //Response body ResponseBody bdy = r.getBody(); //convert response body to string String b = bdy.asString(); //JSON Representation from Response Body JsonPath j = r.jsonPath(); //Get value of Location Key String l = j.get("Course"); System.out.println("Course name: " + l); String m = j.get("id"); System.out.println("Course Id: " + m); String n = j.get("Price"); System.out.println("Course Price: " + n); } }
Output
- Related Questions & Answers
- How to verify JSON response headers in Rest Assured?
- Explain how to get the size of a JSON array response in Rest Assured.
- How to verify a JSON response body using Assertions in Rest Assured?
- How to extract the whole JSON response as a string in Rest Assured?
- How to get the response time of a request in Rest Assured?
- How to validate XML response in Rest Assured?
- How to use Assertion in response in Rest Assured?
- How to validate the response time of a request in Rest Assured?
- How to get a JSON field in a nested JSON using Rest Assured?
- How to get a JSON array field in a nested JSON using Rest Assured?
- How to transform the response to the Java list in Rest Assured?
- How to incorporate TestNG assertions in validating Response in Rest Assured?
- How to get a value from a nested list in Rest Assured?
- How to get the size of an array within a nested JSON in Rest Assured?
- How to handle static JSON in Rest Assured?