REST- ಆಶ್ವಾಸನೆಯೊಂದಿಗೆ JSON ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಹೇಗೆ ಪಾರ್ಸ್ ಮಾಡುವುದು

ಈ API ಪರೀಕ್ಷಾ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, ನಾವು JSON ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಹೇಗೆ ಪಾರ್ಸ್ ಮಾಡುವುದು ಮತ್ತು REST- ಆಶ್ವಾಸಿತ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯುವುದು ಹೇಗೆ ಎಂದು ನೋಡೋಣ.

API ಅನ್ನು ಪರೀಕ್ಷಿಸುವಾಗ, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಸಂಪನ್ಮೂಲಕ್ಕೆ ವಿನಂತಿಯನ್ನು ಮಾಡುತ್ತೀರಿ, (ಉದಾ. GET ಅಥವಾ POST ವಿನಂತಿಯ ಮೂಲಕ). ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯೆಯೊಂದಿಗೆ ಹಿಂತಿರುಗುತ್ತದೆ ಮತ್ತು ನಂತರ ನೀವು ಪ್ರತಿಕ್ರಿಯೆಯ ಕುರಿತು ಕೆಲವು ಸಮರ್ಥನೆಗಳನ್ನು ಮಾಡುತ್ತೀರಿ.



JSON ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಹೇಗೆ ಪಾರ್ಸ್ ಮಾಡುವುದು

ಈ ಟ್ಯುಟೋರಿಯಲ್ ಗಾಗಿ, ನಾನು ಬಳಸುತ್ತಿದ್ದೇನೆ JSONPlaceholder ಇದು ಪರೀಕ್ಷೆ ಮತ್ತು ಮೂಲಮಾದರಿಗಾಗಿ ನಕಲಿ ಆನ್‌ಲೈನ್ REST API ಆಗಿದೆ. JSONPlaceholder ಒಂದು ಉಚಿತ ಆನ್‌ಲೈನ್ REST ಸೇವೆಯಾಗಿದ್ದು, ನಿಮಗೆ ಕೆಲವು ನಕಲಿ ಡೇಟಾ ಬೇಕಾದಾಗ ನೀವು ಬಳಸಬಹುದು.


ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟವಾಗಿ, ನಾನು ಬಳಕೆದಾರರ ಎಂಡ್‌ಪೋಯಿಂಟ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ jsonplaceholder .

ವಿನಂತಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ

ಮೇಲಿನ ಸಂಪನ್ಮೂಲಕ್ಕೆ ನಾವು GET ವಿನಂತಿಯನ್ನು ಮಾಡಿದಾಗ, ನಾವು ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ಒಳಗೊಂಡಿರುವ JSON ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಈ ಪಟ್ಟಿಯನ್ನು JSON ಅರೇ ಎಂದು ನಿರೂಪಿಸಲಾಗಿದೆ. ಪ್ರತಿಯೊಂದು ರಚನೆಯೂ ಈ ರೀತಿಯ ರಚನೆಯನ್ನು ಹೊಂದಿದೆ:


{
id: 1,
name: 'Leanne Graham',
username: 'Bret',
email: 'Sincere@april.biz',
address: {
street: 'Kulas Light',
suite: 'Apt. 556',
city: 'Gwenborough',
zipcode: '92998-3874',
geo: {

lat: '-37.3159',

lng: '81.1496'
}
},
phone: '1-770-736-8031 x56442',
website: 'hildegard.org',
company: {
name: 'Romaguera-Crona',
catchPhrase: 'Multi-layered client-server neural-net',
bs: 'harness real-time e-markets'
} }

ಆದ್ದರಿಂದ, ಪೂರ್ಣ ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ, ರಚನೆಯಲ್ಲಿ ಹತ್ತು ದಾಖಲೆಗಳಿವೆ, ಪ್ರತಿಯೊಂದೂ ಒಂದೇ JSON ರಚನೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಆದರೆ ವಿಭಿನ್ನ ಮೌಲ್ಯಗಳೊಂದಿಗೆ.

ಸಂಬಂಧಿತ:

ಈಗ, JSON ನಿಂದ ಕೆಲವು ಮೌಲ್ಯಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಹೊರತೆಗೆಯುವ ಮೂಲಕ ಪ್ರಾರಂಭಿಸೋಣ.

ಮೊದಲ ಪರೀಕ್ಷೆಯು ಸಾಮಾನ್ಯವಾಗಿ ಶ್ರೇಣಿಯಲ್ಲಿನ ದಾಖಲೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಎಣಿಸುವುದು, ಆದ್ದರಿಂದ ನಾವು ಅದನ್ನು ಪ್ರಾರಂಭಿಸೋಣ.


import io.restassured.RestAssured; import io.restassured.http.ContentType; import io.restassured.parsing.Parser; import io.restassured.response.Response; import java.util.List; import static io.restassured.RestAssured.given; public class RestTest {
public static Response doGetRequest(String endpoint) {
RestAssured.defaultParser = Parser.JSON;

return

given().headers('Content-Type', ContentType.JSON, 'Accept', ContentType.JSON).


when().get(endpoint).


then().contentType(ContentType.JSON).extract().response();
}
public static void main(String[] args) {
Response response = doGetRequest('https://jsonplaceholder.typicode.com/users');

List jsonResponse = response.jsonPath().getList('$');

System.out.println(jsonResponse.size());
} }

ಮೇಲಿನ ಕರೆಯ ಫಲಿತಾಂಶವು 10 ಅನ್ನು ಮುದ್ರಿಸುತ್ತದೆ. $ ಅನ್ನು ಗಮನಿಸಿ ಸಂಕೇತ ಎಂದರೆ ಮೂಲ ಅಂಶ.

JSON ಅರೇಗಳು ಮತ್ತು ಪಟ್ಟಿಗಳನ್ನು ಪಾರ್ಸಿಂಗ್ ಮಾಡಲಾಗುತ್ತಿದೆ

ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಎಲ್ಲಾ ನಮೂದುಗಳ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಪಡೆಯಲು ಬಯಸಿದರೆ, ನಾವು ಇದನ್ನು ಬಳಸಬಹುದು:

String usernames = response.jsonPath().getString('username'); System.out.println(usernames);

ಇದು ಶ್ರೇಣಿಯನ್ನು ಹೀಗೆ ಮುದ್ರಿಸುತ್ತದೆ:

[Bret, Antonette, Samantha, Karianne, Kamren, Leopoldo_Corkery, Elwyn.Skiles, Maxime_Nienow, Delphine, Moriah.Stanton]

ನಾವು ಬಳಸಬಹುದಾದ ಮೊದಲ ಪ್ರವೇಶದ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಪಡೆಯಲು ನಾವು ಬಯಸಿದರೆ:


String usernames = response.jsonPath().getString('username[0]');

ಇದು ಮೊದಲ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಮುದ್ರಿಸುತ್ತದೆ:

Bret

ನಾವು ಬಳಸಬಹುದಾದ ಪಟ್ಟಿಯನ್ನು ಬಳಸುವುದು:

List jsonResponse = response.jsonPath().getList('username'); System.out.println(jsonResponse.get(0));

ಇದು ಮೊದಲ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಮುದ್ರಿಸುತ್ತದೆ:

Bret

JSON ಅರೇಲಿಸ್ಟ್ ಮತ್ತು ಹ್ಯಾಶ್‌ಮ್ಯಾಪ್ ಅನ್ನು ಪಾರ್ಸಿಂಗ್ ಮಾಡಲಾಗುತ್ತಿದೆ

ಮೇಲಿನ JSON ರಚನೆಯನ್ನು ನೋಡಿದರೆ, ಕಂಪನಿಯು ವಾಸ್ತವವಾಗಿ ನಕ್ಷೆಯಾಗಿದೆ. ನಮ್ಮಲ್ಲಿ ಕೇವಲ ಒಂದು ದಾಖಲೆ ಇದ್ದರೆ, ನಾವು ಇದನ್ನು ಬಳಸಬಹುದು:


Response response = doGetRequest('https://jsonplaceholder.typicode.com/users/1'); Map company = response.jsonPath().getMap('company'); System.out.println(company.get('name'));

ಅದು ಮುದ್ರಿಸುತ್ತದೆ:

Romaguera-Crona

ಆದರೆ ಪ್ರತಿಕ್ರಿಯೆಯು ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಹಿಂದಿರುಗಿಸಿದರೆ ಮತ್ತು ನಾವು ಮೊದಲ ಕಂಪನಿಯ ಹೆಸರನ್ನು ಹೊರತೆಗೆಯಲು ಬಯಸಿದರೆ, ನಾವು ಇದನ್ನು ಬಳಸಬಹುದು:

Response response = doGetRequest('https://jsonplaceholder.typicode.com/users/'); Map company = response.jsonPath().getMap('company[0]'); System.out.println(company.get('name'));

ಪರ್ಯಾಯವಾಗಿ, ನಾವು ಇದನ್ನು ಬಳಸಬಹುದು:

Response response = doGetRequest('https://jsonplaceholder.typicode.com/users/'); List companies = response.jsonPath().getList('company'); System.out.println(companies.get(0).get('name'));

ಇವೆರಡೂ ಮುದ್ರಿಸುತ್ತದೆ:


Romaguera-Crona

ಆಸಕ್ತಿಕರ ಲೇಖನಗಳು