2017-01-24 4 views
1

나는 그것을 얻기 위해 alamofire와 swiftyjson을 사용하고 있습니다. 문자열 "ubus_rpc_session"을 가져와야하는데,이 방법으로 tryed하지만 배열을 얻습니다. 문자열을 가져와야합니다. 당신이 나를 도울 수?json 배열에서 문자열을 가져 오는 swiftyjson

Alamofire.request(URL, method: .post, parameters: param, encoding: JSONEncoding.default).responseJSON { response in 
    switch response.result { 
    case .success(let value): 
     let json = JSON(value) 
     let token = json["result"].arrayValue.map({$0["ubus_rpc_session"].stringValue}) 
     print(token) 

{ "jsonrpc":"2.0", 
    "id":1, 
    "result":[ 
     0, 
     { 
     "ubus_rpc_session":"07e111d317f7c701dc4dfde1b0d4862d", 
     "timeout":300, 
     "expires":300, 
     "acls":{ 
      "access-group":{ 
       "superuser":[ 
        "read", 
        "write" 
       ], 
       "unauthenticated":[ 
        "read" 
       ] 
      }, 
      "ubus":{ 
       "*":[ 
        "*" 
       ], 
       "session":[ 
        "access", 
        "login" 
       ] 
      }, 
      "uci":{ 
       "*":[ 
        "read", 
        "write" 
       ] 
      } 
     }, 
     "data":{ 
      "username":"root" 
     } 
     } 
    ] 
} 

답변

0

는 시도이

// (자신의 문서에서) JSON 배열에서 문자열의 배열

let arrayNames = json["users"].arrayValue.map({$0["name"].stringValue}) 


if let tempArray = json["result"].arrayValue { 
     for item in tempArray { 
       print(item) 
      if let title = item["ubus_rpc_session"].string { 
      println(title) 
     } 

     } 
     } 

또는이

let value = tempArray[1].dictionaryObject! 
         print(value["ubus_rpc_session"]!) 
을 확인 받기
+0

첫 번째 방법은 고맙습니다. –