I am trying to get result by using a for loop inside nested response by not getting the required result. I have tried but not getting the desired response. Required result is as below.
[
[["P-1 Test one","P-1 Test Two","P-1 Test Three"]],
[["P-2 Test One"","P-2 Test One"],["P-2 A-1 Test one","P-2 A-1 Test two","P-2 A-1 Test three","P-2 A-1 Test four"],["P-2 A-2 Test one","P-2 A-2 Test two","P-2 A-3 Test three","P-2 A-4 Test four"]],
[["P-3 Test One"],["P-3 A-1 Test one","P-3 A-1 Test Two","P-3 A-1 Test three","P-3 A-1 Test four"]]
]
I am using below json response to get the required result.
{
"page_size": 20,
"page": 1,
"count": 209,
"results": [
{
"_score": null,
"plink_id": "plifnW",
"customer_name": "Primary member one",
"packages": [
{
"is_addon": false,
"addon_price": 0,
"parameter": 1,
"name": "P-1 Test one",
"id": 54,
"package_city_prices": {
"package_price": 160,
"offer_price": 99
},
"slug_name": "Test-one-slug"
},
{
"is_addon": false,
"addon_price": 0,
"parameter": 1,
"name": "P-1 Test Two",
"id": 54,
"package_city_prices": {
"package_price": 160,
"offer_price": 99
},
"slug_name": "Test-Two-slug"
},
{
"is_addon": false,
"addon_price": 0,
"parameter": 1,
"name": "P-1 Test Three",
"id": 54,
"package_city_prices": {
"package_price": 160,
"offer_price": 99
},
"slug_name": "Test-Two-slug"
}
],
"verification_remark": "Duplicate Booking",
"additional_members": []
},
{
"_score": null,
"plink_id": "plifnW",
"customer_name": "Primary member two",
"packages": [
{
"is_addon": false,
"addon_price": 0,
"parameter": 1,
"name": "P-2 Test One",
"id": 54,
"package_city_prices": {
"package_price": 160,
"offer_price": 99
},
"slug_name": "Test one slug"
},
{
"is_addon": false,
"addon_price": 0,
"parameter": 1,
"name": "P-2 Test One",
"id": 54,
"package_city_prices": {
"package_price": 160,
"offer_price": 99
},
"slug_name": "Test one slug"
}
],
"verification_remark": "Duplicate Booking",
"additional_members": [
{
"plink_id": null,
"alloted_time": null,
"customer_name": "Additional member one",
"packages": [
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-1 Test one",
"slug_name": "Test_one_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-1 Test two",
"slug_name": "Test_Two_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-1 Test three",
"slug_name": "Test_Three_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-1 Test four",
"slug_name": "Test_four_slug"
}
]
},
{
"plink_id": null,
"alloted_time": null,
"customer_name": "Additional member Two",
"packages": [
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-2 Test one",
"slug_name": "Test_one_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-2 Test two",
"slug_name": "Test_Two_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-3 Test three",
"slug_name": "Test_Three_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-2 A-4 Test four",
"slug_name": "Test_four_slug"
}
]
}
]
},
{
"_score": null,
"plink_id": "plifnW",
"customer_name": "Primary member Three",
"packages": [
{
"is_addon": false,
"addon_price": 0,
"parameter": 1,
"name": "P-3 Test One",
"id": 54,
"package_city_prices": {
"package_price": 160,
"offer_price": 99
},
"slug_name": "test five slug"
}
],
"verification_remark": "Duplicate Booking",
"additional_members": [
{
"plink_id": null,
"alloted_time": null,
"customer_name": "P-3-A-1 additional member",
"packages": [
{
"is_addon": false,
"tat_time": null,
"name": "P-3 A-1 Test one",
"slug_name": "Test_one_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-3 A-1 Test Two",
"slug_name": "Test_Two_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-3 A-1 Test three",
"slug_name": "Test_Three_slug"
},
{
"is_addon": false,
"tat_time": null,
"name": "P-3 A-1 Test four",
"slug_name": "Test_four_slug"
}
]
}
]
}
]
}
Here in this response the parameter "additional_mamber" can be empty or can have multiple member or tests. I have used following code to get the result.
for testResult in self.bookingArray?.results ?? [] {
var testPackageArrayOne = [[String]]()
for testPackage in testResult.packages ?? [] {
testPackageArrayOne.append([testPackage.name ?? ""])
}
for member in testResult.additional_members ?? [] {
var newAdditionArray = [String]()
for additionalMemberTests in member.packages ?? [] {
newAdditionArray.append(additionalMemberTests.name ?? "")
}
testPackageArrayOne.append(newAdditionArray)
}
print("testPackageArrayOne==>>",testPackageArrayOne)
arrayOfTests.append(testPackageArrayOne)
print("arrayOfTestArrays==>>",arrayOfTests)
}
// Print the resulting array of arrays
for array in arrayOfTests {
print("individual array for every member ==>>",array)
}
print("member and additional members array ==>>",self.memberNameArray)
But not getting the desired result.