使用 SwiftyJSON 获取正确的数据

Use SwiftyJSON to get proper data

这是我的JSON数据,如何获取pickArray中0中的src数据?

"pickArray" : "{\"0\":{\"src\":\"https:\/\/fb-s-d-a.akamaihd.net\/h-ak-xpl1\/v\/t1.0-9\/p720x720\/18010403_1525007564199498_8009700960533638318_n.png?oh=25dbc9c1522dcfdd1d15cdd3e8c0c7da&oe=59997685&__gda__=1502470695_f212ade003e9b1c4ddc6a3ab6cc9e7e7\",\"width\":720,\"height\":720}}"

如果我这样做:

let dataArray  = json["pickArray"]
print("dataArray = ",dataArray)

dataArray =  {"0":{"src":"https://fb-s-d-a.akamaihd.net/h-ak-xpl1/v/t1.0-9/p720x720/18010403_1525007564199498_8009700960533638318_n.png?oh=25dbc9c1522dcfdd1d15cdd3e8c0c7da&oe=59997685&__gda__=1502470695_f212ade003e9b1c4ddc6a3ab6cc9e7e7","width":720,"height":720}}

但是如果我这样做,显示为空:

let srcArray  = dataArray["0"]
print("srcArray = ",srcArray)

我正在使用 swift3.0

let srcArray  = dataArray["0"].dictionaryObject!
print("srcArray = \(srcArray)")

现在您可以访问“0”值的元素,如下所示。希望这对你有用。

let jsonScr = JSON(srcArray)
let srcURL = jsonScr["scr"].stringValue

它看起来像使用键 pickArray 你在 String 中有 JSON 响应所以获取该字符串并将其转换为数据并从中获取 JSON 然后从中得到src

let stringResponse  = json["pickArray"].stringValue
if let data = stringResponse.data(using: .utf8) {
     let pickArray = JSON(data: data)
     //Now access the pickArray to get the src
     var sortedKeys = [String]()
     if let allKeys = pickArray.dictionaryObject {
         sortedKeys = Array(allKeys.keys).sorted { [=10=].compare(, options: .numeric) == .orderedAscending }
     }
     for key in sortedKeys {
         print(pickArray[key]["src"].stringValue)
         print(pickArray[key]["width"].intValue)
         print(pickArray[key]["height"].intValue)
     }
}