Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在Swift 3.0中将JSON数组值赋给变量?_Arrays_Json_Swift3_Xcode8 - Fatal编程技术网

Arrays 如何在Swift 3.0中将JSON数组值赋给变量?

Arrays 如何在Swift 3.0中将JSON数组值赋给变量?,arrays,json,swift3,xcode8,Arrays,Json,Swift3,Xcode8,我有这些使用PHP mysqli生成的JSON值 {"valid":"1","name":"NAME 1","dept":"IT"} {"valid":"1","name":"NAME 2","dept":"IT"} {"valid":"1","name":"NAME 3","dept":"PSD"} {"valid":"1","name":"NAME 4","dept":"PSD"} 但在swift 3.0中,我只知道在x代码中手动声明数组值,如下所示 import UIKit cl

我有这些使用PHP mysqli生成的JSON值

 {"valid":"1","name":"NAME 1","dept":"IT"}
 {"valid":"1","name":"NAME 2","dept":"IT"}
 {"valid":"1","name":"NAME 3","dept":"PSD"}
 {"valid":"1","name":"NAME 4","dept":"PSD"}
但在swift 3.0中,我只知道在x代码中手动声明数组值,如下所示

import UIKit
class ViewController: UIViewController{

    @IBOutlet var divisionLbl: UITextField!

    var division = ["IT","FAD","PSD"]

    override func viewDidLoad() { 
        super.viewDidLoad() 
    }
}
我的目标是检索JSON值并将其赋给变量

可能吗


谢谢。

您可能想使用JSONSerialization类的jsonObject(with:options:)方法

假设您已经有了JSON数据对象,类似这样的方法应该可以工作:

// data = your JSON data

do {
    var assignedData = try JSONSerialization.jsonObject(with: data, options: .mutableContainers)
    // continue...
} catch {
    print("Error: \(error)")
    // Handle exception
}

我可以在do语句之外声明变量吗?@Jamilah是的,可以,但我认为在这种情况下没有多大意义。如果这样做,则需要将其声明为可选的Any?,然后到处处理,因为jsonObject(with:options:)返回Any。我只想把所有处理“assignedData”的代码放在do语句中的try语句下。你能告诉代码你是如何发出API请求的,以及你是如何得到这个JSON的吗。
// data = your JSON data

do {
    var assignedData = try JSONSerialization.jsonObject(with: data, options: .mutableContainers)
    // continue...
} catch {
    print("Error: \(error)")
    // Handle exception
}