首页 > 解决方案 > 创建 JSON SWIFTYJSON

问题描述

我正在尝试创建这样的 json

[
 {"key": "value"},
 {"key": "value"},
 {"key": "value"}
]

这是我的代码

var array: JSON = []
    for i in (0..<obj.count){
        array = [
            "user": obj[i].name!,
            "apikey": obj[i].key!
        ]
    }

但是当我尝试打印时,只有第一个项目,我该如何解决

标签: swiftxcodeswift4swifty-json

解决方案


使用Codable. 由于 Swift 4SwiftyJSON已经过时

struct Object : Encodable {
    private enum CodingKeys : String, CodingKey { case name  = "user", key = "apikey" }
    let name, key : String
}

let obj = [Object(name: "Foo", key: "API123"), Object(name: "Bar", key: "API456")]

do {
    let jsonData = try JSONEncoder().encode(obj)
    let jsonString = String(data: jsonData, encoding: .utf8)!
    print(jsonString)
} catch { print(error) }

推荐阅读