Данные JSON - белая консоль - Xcode 9 - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь простое приложение, в котором я хочу преобразовать некоторые значения. Он работал до тех пор, пока я не попытался преобразовать данные в словарь, и когда я нажал run, он успешно строится, но консоль ничего не печатает. Вот код:

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    let url = URL(string: "http://gnb.dev.airtouchmedia.com/rates.json")
    let task  = URLSession.shared.dataTask(with: url!) { (data, response, error) in

    if error != nil
         {
        print("ERROR")
    }
    else {
        if let content  = data  {
            do {

                //Array
                let myJson = try JSONSerialization.jsonObject(with:content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
                //print(myJson)

                if let rate  = myJson["rate"] as? NSDictionary {

                    if let currency = rate["AUD"] {
                        print(currency)
                    }
                }
         }
            catch {

            }
        }
        }
    }
    task.resume()
}

1 Ответ

0 голосов
/ 29 июня 2018

потому что вы неправильно анализируете JSON

попробуйте это

let myJson = try JSONSerialization.jsonObject(with:content, options: JSONSerialization.ReadingOptions.mutableContainers) as? [[String: AnyObject]] else { return }
for rate in myJson
    guard let cur = user["from"] as? String,
        let curRate = user["rate"] as? Double else { break }

        if let cur = "AUD" {
            print(curRate)
        }

Обновление:

Вы получаете Массив Объектов в ответ,

поэтому сначала вы должны рассматривать его как массив объектов,

Затем вы должны пройти через эти объекты, а затем внутри этого цикла вы должны извлечь данные, которые вы искали, и поиграть с ними.

...