Просто напишите структуру / класс для такой сложной структуры:
struct Distance { // You might want to find a better name
let distanceInMiles: Double
let distanceInMeters: Double
let places: [Place]
}
struct Place {
let name: String
let city: String
let lat: Double
let long: Double
let coordinate: CLLocationCoordinate2D // You might want to make this a computed property instead
}
А затем вы можете создать массив Distance
:
var distances = [Distance]()
distance.append(Distance(
distanceInMiles: distanceInMiles,
distanceInMeters: distanceInMeters,
places: [
Place(name: nameI, city: cityI, lat: latitudeI, long: longitudeI, coordinate: coordinateI),
Place(name: nameJ, city: cityJ, lat: latitudeJ, long: longitudeJ, coordinate: coordinateJ),
]
))
Как видите, эстетика очень похожа на вашу JSON-подобную структуру.
Кстати, если вы планируете преобразовать эту структуру в JSON и отправить ее куда-нибудь, вы можете привести обе структуры в соответствие с Codable
.