
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
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
Parse JSON Response and Extract Field 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); } }