【问题标题】:Get value from JSON file in Swift从 Swift 中的 JSON 文件中获取值
【发布时间】:2015-08-05 12:35:03
【问题描述】:

我有一个 JSON 文件,我将其转换为 NSDictionary 对象。我的问题是如何从这个对象中获取一个值?我在我的网站上创建了一个 httppost,然后我得到一个 JSON 数组,其中包含值“success”和“userId”我想检查它是否成功。

import UIKit

class ViewController2: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


@IBAction func HttpBtn(sender: AnyObject) {
    PostToServer()
    HttpPost()
}

func PostToServer()
{
    println("Button Presed")
}

func HttpPost()
{
    var postString = "email=joakim@and.dk&password=123456"

    //Declare URL
    var url: NSURL! = NSURL(string: "http://95.85.53.176/nhi/api/app/login")
    var request: NSMutableURLRequest = NSMutableURLRequest(URL: url)

    //Declare which HTTPMethod
    request.HTTPMethod = "POST"

    //POST data
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

    let task = NSURLSession.sharedSession().dataTaskWithRequest(request){
        data, response, error in

        if error != nil
        {
            println("error=\(error)")
            return
        }

        println("response =\(response)")

        var responseString = NSString(data: data, encoding:    NSUTF8StringEncoding)

        println("responseString =\(responseString)")


        var error: NSError?

        var myJSON = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &error) as? NSDictionary

        println(myJSON)
    }



    task.resume()


}

}

输出

responseString =Optional({"success":true,"userId":"62"})
Optional({
success = 1;
userId = 62;
})

【问题讨论】:

    标签: json swift nsdictionary


    【解决方案1】:

    你可以使用它的键值来访问

    var success = myJSON["success"]!.intValue
    var userId = myJSON["userId"]!.intValue
    
    if(success == 1) //if true
    {
      //Do something   
    }
    

    userId相同

    【讨论】:

    • 如何获取 access_token 值? @FrequencyMatched 成功 = 1;令牌 = { "access_token" = m2qocunKEJXGOKWDp4n965yHhFouOyCAtfvS0b34; "expires_in" = 604800; “刷新令牌” = wF0c0A7p8gh6GMXrPpSeHVfBalxTmR3iB4KRVBx2; "token_type" = 持有者; };用户 ID = 61;
    • var accessToken = myJSON["token"]["access_token"]!.stringValue
    • 它给了我一个错误-“可选类型'AnyObject的值?'未解包;您的意思是使用“!”还是“?”?@FrequencyMatched
    • 尝试删除!。如果需要,Xcode 会显示一些东西
    • 显示需要加“!” - 当我点击建议时,它给了我这个错误。
    猜你喜欢
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多