放心.是否可以从响应 json 中提取 JSONObject/JSONArray?



我正在使用RestAssured, 我得到的回应是这样的——

{
"Data": {
"Sub": {
"SubDetails": [
{
"OrgId": 5,
"SubId": 1,
"SubName": "Mathematics"
}
]
}
},
"RawData": {
"Url": "http://localhost:11111/cases/case-15",
"Type": "Rest",
"Request": {
"Details": {
"OrganizationId": 5,
"Student": {
"Age": 30,
"Religion": "Hindu",
"StudentId": 10
}
}
},
"Response": {
"SmartReturnObject": {
"Subject": [
{
"SubjectId": 1,
"SubjectName": "Mathematics"
}
],
"OrganizationId": 5
}
},
"IsApiError": false
},
"SessionId": "5q0",
"RequestUniqueId": "4543534",
"StatusCode": "4540000",
"StatusMessage": "Success",
"DataSource": "DD"
}  

现在我需要单独提取数据对象和分离 RawData,但我失败了。
我也尝试使用 JSONPath,但没有以 JSON 格式获取它。
我试过了

JsonPath body= response.jsonPath();
Object value=body.get("Data");
System.out.println("Value is-"+value);  

并像这样得到它 -{Sub={SubDetails=[{OrgId=5, SubId=1, SubName=Mathematics}]}}
我希望响应作为JSONObjectJSONArray类型的实例。

pom.xml

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>

试试下面 -

Gson gson = new Gson();
try {
JSONObject obj = new JSONObject(gson.toJson(givenString));
}catch (Exception e){
System.out.println(e.toString());
}

最新更新