I am pretty new to java and rest. I was trying to count elements from the item
object using rest. If you check below Json then you will find 6 elements associated with the item object.
{
"response": {
"status": "active",
"timestamp": "2019-01-02 20:07:42"
},
"group": [
{
"best_option": "Offer",
"item": {
"F": [
{
"code": "228"
}
],
"E": [
{
"code": "228"
}
]
},
"review": {
"F": [
{
"code": "110"
},
{
"code": "212"
}
],
"E": [
{
"code": "110"
},
{
"code": "212"
}
]
}
},
{
"best_option": "Offer",
"item": {
"D": [
{
"code": "228"
}
],
"C": [
{
"code": "228"
}
]
},
"review": {
"D": [
{
"code": "110"
},
{
"code": "212"
}
],
"C": [
{
"code": "110"
},
{
"code": "212"
},
{
"code": ""
}
]
}
},
{
"best_option": "Offer",
"item": {
"A": [
{
"code": "228"
}
]
},
"review": {
"A": [
{
"code": "110"
},
{
"code": "212"
}
]
}
},
{
"best_option": "Offer",
"item": {
"B": [
{
"code": "228"
},
{
"code": "662"
}
]
},
"review": {
"B": [
{
"code": "110"
},
{
"code": "662"
}
]
}
}
]
}
I have tried jsonResponse.getBody().jsonPath().get()
to count element from item object. I want to count number of elements present in the item object for eg: A, B, C,D,EF . Can someone please help me to sort out my issue?
Iterate over "group"
object, get "item"
as JsonObject
and get the size
.
JsonObject jsonObject = (JsonObject)new JsonParser().parse(input);
JsonArray groupObject = jsonObject.getAsJsonArray("group");
int countItem=0;
for(int i=0;i<groupObject.size();i++) {
JsonObject items = ((JsonObject)groupObject.get(i)).getAsJsonObject("item");
countItem+=items.size();
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.