【发布时间】:2018-12-20 19:03:26
【问题描述】:
我希望将一行 SQlite 转换为 JSON 数组。
例子:
{
"0": {
"room_id": "5034"
},
"1": {
"room_id": "5199"
},
"2": {
"room_id": "5156"
}
}
Swift4 代码:
typealias Rooms = [String: Room]
struct Room: Codable {
let roomID: String
enum CodingKeys: String, CodingKey {
case roomID = "room_id"
}
}
var rooms = [Rooms]()
for room in try (db?.prepare(isco_room_time))! {
let export: Room = Room(roomID: room[room_id])
rooms.append(export)
}
我的错误(在线 rooms.append):
无法将“ViewController.Room”类型的值转换为预期的参数类型“ViewController.Rooms”(又名“字典”)
【问题讨论】:
-
db?.prepare(isco_room_time)究竟返回了什么? -
var rooms = [Rooms]()与var rooms = [[String: Room]]()相同,但是您随后尝试将Room的实例附加到它,这显然是不兼容的。将var rooms = [Rooms]()更改为var rooms = [Room]()
标签: json swift multidimensional-array