iOS:从Alamofire解析出来的SwiftyJSON是一个数组。尝试解析时获取空值

iOS: SwiftyJSON parsing from Alamofire is an array. Getting null when trying to parse

api 请求 return 是这样的:

[  
   {  
  "
     .....

我正在使用 swiftyJSON 来解析它,我从 Alamofire 请求中获得了数据:

let json = JSON(data)
let mapHeir = json[0]["Info"]["String"]
print(mapHeir)

这个return是空的,我试过了:

let mapHeir = json[0]["Info"]["String"].string
let mapHeir = json[0]["Info"]["String"].stringValue
let mapHeir = json["Info"]["String"]

并且所有 return 都是空的。 我怎样才能到达 hatHierarchyString?

您应该首先遍历数组 - 在您的情况下,您有一个字典数组。然后像这样访问字典数据:

let mapHeir = json["hatInfo","hatHierarchyString"].stringValue

你可以试试:

let string = json.array?.first?["hatInfo"]["hatHierarchyString"].string

这个returns一个可选的String

试试这个:

假设你有这样的东西:

.responseJSON{ response in

switch response.result{
                    case .Success:
            let json = JSON(data: response.data!)

然后做,

if let someThing = json[0]["hatInfo"]["hatHierarchyString"].string {
  //Now you got your value
}