所以,我一直试图让这段代码工作几天,但我不知道我做错了什么。
我从网上获取一个 JSON 并用 Struct 块解析它。
问题是:我想使用我创建 de decode 函数的 JSON 中的字典和数组。
这是代码
import UIKit
struct Currency_format: Decodable{
var iso_code: String
var example_format : String
var decimal_digits : Int
var decimal_separator : String
var symbol_first : Bool
var group_separator : String
var currency_symbol : String
var display_symbol : Bool
}
struct Date_Format: Decodable{
var format : String
}
struct Budgets: Decodable {
var id : String
var name: String
var last_modified_on : String
var first_month : String
var last_month : String
var date_format : Date_Format
var currency_format : Currency_format
}
struct DataResponse : Decodable {
var data : Data
}
struct Data : Decodable{
var budgets : [Budgets]
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let accessToken = "1234"
let authorizationRequestHeader = "https://www.somewhere.com=\(accessToken)"
guard let url = URL(string: authorizationRequestHeader) else {
print("Error")
return
}
let session = URLSession.shared
session.dataTask(with: url) { (stringData, response, Error) in
let testString = try! dataResponse.decode(DataResponse.self, from:stringData!)
print("Number of records: \(testString.data.budgets.count)")
//THIS PRINT WORKS AS I WANT IT TO WORK. NOT PROBLEM HERE
}.resume()
print("Number of records: \(testString.data.budgets.count)") // BUT THE SAME CODE HERE, DOES NOT WORK AT ALL