在我的案例中如何访问我的json数据 - swift

时间:2017-04-27 08:01:52

标签: ios json swift3

我有以下儿子字符串,它通过网络服务发送给我。我试图在其中访问我的字典,我收到错误。有人可以建议吗?

我的json String:

 {"status":200,"message":"Registration success","firstname":"tommy","lastname":"tang","userId":17,"email":"t@gm.com"}

我尝试访问'状态'

的代码
          do{
                let jsonObject = try JSONSerialization.jsonObject(with: jsonData, options: [])
                print("jsonObject: \(jsonObject)")

                guard
                    let regArray = jsonObject as? [[String:String]] else{

                        print("json messed up")
                }

                guard
                    let status = regArray["status"] as? String else{
                        print("error")
                }
                print("status: \(status)")

            }catch let error{
                print("print error: \(error)")
            }

        }else if let requestError = error{
            print("error detail: \(requestError)")
        }else{
            print("unexpected error")
        }

我得到的错误是'不能下标类型[[String:String]]的值,其索引类型为String'

即使我使用

let regArray = jsonObject as? [[String:Any]] 

我得到了同样的错误

1 个答案:

答案 0 :(得分:0)

UserID和状态为Int。所以它必须是[String : Any]。这是一个简单的字典数组。

在代码中,更改

status = regArray["status"] as? String

status = regArray["status"] as? Int

因为您将Int值指定为字符串,因此无法实现。