Ios 如何使用SwiftyJSON中的数组解析数组和数组?

Ios 如何使用SwiftyJSON中的数组解析数组和数组?,ios,json,swift,swifty-json,Ios,Json,Swift,Swifty Json,我有一个JSON响应,如下所示 { "geometry" : { "type" : "GeometryCollection", "geometries" : [ { "type" : "Polygon", "coordinates" : [ [ [ 43.

我有一个JSON响应,如下所示

{
        "geometry" : {
          "type" : "GeometryCollection",
          "geometries" : [
            {
              "type" : "Polygon",
              "coordinates" : [
                [
                  [
                    43.7228393554688,
                    42.065249641381598
                  ],
                  [
                    43.8217163085938,
                    42.084617318779898
                  ],
                  [
                    43.899993896484403,
                    42.100922357518499
                  ],
                  [
                    43.7228393554688,
                    42.065249641381598
                  ]
                ]
              ]
            }
          ]
        }
我上面发布的JSON是我JSON响应的一部分。此数组以以下格式提供数据

[[[Array_Polygon1_Coordinates1], [Array_Polygon1_Coordinates2],[Array_Polygon1_Coordinates3]], [[Array_Polygon2_Coordinates1], [Array_Polygon2_Coordinates2], [Array_Polygon2_Coordinates3]]]
我正在我的项目中使用SwiftyJSON。如何使用SwiftyJSON解析此JSON? 我的代码

我得到的错误是
正如普拉蒂克在评论中提到的那样,我通过

if let coordinatesArray: Array = geometry[RMJSONKey.coordinates].array {
   for coordinates: JSON  in coordinatesArray {
       var polygonCoordinates: [CLLocationCoordinate2D] = []
       for coordinatePair: (String, JSON) in coordinates {
           let coordinateSet: JSON = coordinatePair.1
           guard let latitude: Double = coordinateSet.arrayValue.last?.double,
           let longitude: Double = coordinateSet.arrayValue.first?.double else {
                throw RMException.invalidFormat
           }
          polygonCoordinates.append(CLLocationCoordinate2DMake(latitude, longitude))
       }
   }
}

正如Pratik在评论中提到的,我通过

if let coordinatesArray: Array = geometry[RMJSONKey.coordinates].array {
   for coordinates: JSON  in coordinatesArray {
       var polygonCoordinates: [CLLocationCoordinate2D] = []
       for coordinatePair: (String, JSON) in coordinates {
           let coordinateSet: JSON = coordinatePair.1
           guard let latitude: Double = coordinateSet.arrayValue.last?.double,
           let longitude: Double = coordinateSet.arrayValue.first?.double else {
                throw RMException.invalidFormat
           }
          polygonCoordinates.append(CLLocationCoordinate2DMake(latitude, longitude))
       }
   }
}

展示你的努力code@Anbu.karthik将我的代码添加到问题中不要将代码添加为图像,超过您的代码和jsonresponse@PratikPrajapati很抱歉我现在更新了我的问题错误表明
coordinatePair
是元组,请尝试
coordinatePair.1
以获取值显示您的已尝试code@Anbu.karthik将我的代码添加到问题中不要将代码添加为图像,超过您的代码和jsonresponse@PratikPrajapati很抱歉我现在更新了我的问题错误表明
coordinatePair
是元组,请尝试
coordinatePair.1
获取值