swift中JSON中的变量

swift中JSON中的变量,json,swift,Json,Swift,我是swift编程的初学者,我需要JSON中的值,看起来是这样的…我不理解JSON…-(: 我将获得一个变量的usedVolume和usedPercentage 我的代码: var volume: [String] = [] var percent: [String] = [] override func viewDidLoad() { super.viewDidLoad() let url=URL(string:"http://pa

我是swift编程的初学者,我需要JSON中的值,看起来是这样的…我不理解JSON…-(:

我将获得一个变量的usedVolume和usedPercentage

我的代码:

    var volume: [String] = []
    var percent: [String] = []

    override func viewDidLoad() {
        super.viewDidLoad()


        let url=URL(string:"http://pass.telekom.de/api/service/generic/v1/status/.json")
        do {
            let allData = try Data(contentsOf: url!)
            let data = try JSONSerialization.jsonObject(with: allData, options: JSONSerialization.ReadingOptions.allowFragments) as! [String : AnyObject]
            if let arrJSON = data["??"] {........
如何在可变体积中获得它,百分比

谢谢你的帮助!

试试这个方法

    var usedVolume:Int?
    var usedPercent:Int?

    let url = URL(string:"http://pass.telekom.de/api/service/generic/v1/status/.json")

    do {

        let allData = try Data(contentsOf: url!)
        let json = try JSONSerialization.jsonObject(with: allData, options: []) as! [String: AnyObject]
        if let uv = json["usedVolume"] as? Int {
            usedVolume = uv
        }

        if let up = json["usedPercentage"] as? Int {
            usedPercent = up
        }

    } catch let error as NSError {
        print("Failed to load: \(error.localizedDescription)")
    }

data
是一个普通的老式Swift字典。像其他字典一样使用它。你知道你想要值的键是什么。只需访问这些键。你可以使用一个流行的库来帮助你处理JSON(与你的直接问题无关),你真的,真的不应该像现在这样访问远程数据。你的应用程序将被阻止到远程数据访问。有正确的方法访问远程数据,但您所做的不是。但这是一个单独的问题,您可以下一步解决。您应该将
转换为?[String:Any]
而不是
转换为?[String:AnyObject]
在Swift 3中。x@Heisenberg你能试一下我的答案吗?如果你有任何问题,让我知道这会给另一个问题增加什么?它和另一个答案有着相同的问题。从问题中我了解到他是swift的新手,所以我刚刚更正了。答案与说明如何使用变量存储数据有很大的不同所讨论的键的值不是字符串。永远不要在主线程上加载远程数据。是的,我明白你的意思,但问题只是如何从json.Right获取这些值。但是如果你要发布一个答案,请发布一个有用的、正确的答案。
    var usedVolume:Int?
    var usedPercent:Int?

    let url = URL(string:"http://pass.telekom.de/api/service/generic/v1/status/.json")

    do {

        let allData = try Data(contentsOf: url!)
        let json = try JSONSerialization.jsonObject(with: allData, options: []) as! [String: AnyObject]
        if let uv = json["usedVolume"] as? Int {
            usedVolume = uv
        }

        if let up = json["usedPercentage"] as? Int {
            usedPercent = up
        }

    } catch let error as NSError {
        print("Failed to load: \(error.localizedDescription)")
    }