iOS Swift 4 / 来自 cloudant 连接的响应
iOS Swift 4 / Response from cloudant connection
目前我在使用 Cloudant 和 library 访问 noSql 数据库时遇到问题。
我也会有回报的。
订单如下:
let read = GetAllDocsOperation(databaseName: dbName){ (response, httpInfo, error) in
if let error = error {
print("Encountered an error while reading a document. Error:\(error)")
} else {
print(response)
}
}
client.add(operation:read)
这是我的结果:
现在我不知道该怎么办。我首先尝试用 SwiftyJSON 解析它或充当字典。
很遗憾,我失败了。
有人可以帮助我吗?
我是 swift 的新人,所以请原谅。
谢谢
首先您需要安全地解包响应,然后访问 JSON。这里的这一切都是手动完成的,没有编码器、解码器或第三方
if let response = response as? [String: Any] {
if let rowData = response["row"] as? [[String: Any]] {
for row in rowData {
if let id = row["id"] as? Int {
print(id.description)
}
if let key = row["key"] as? Int {
print(key.description)
}
if let value = row["value"] as? [String: Any] {
if let rev = value["rev"] as? String {
print(rev)
}
}
}
}
}
但我建议您看看 ObjectMapper which helps you a lot with JSONs or you could give it a try learning Encoding and Decoding Apple
目前我在使用 Cloudant 和 library 访问 noSql 数据库时遇到问题。
我也会有回报的。
订单如下:
let read = GetAllDocsOperation(databaseName: dbName){ (response, httpInfo, error) in
if let error = error {
print("Encountered an error while reading a document. Error:\(error)")
} else {
print(response)
}
}
client.add(operation:read)
这是我的结果:
现在我不知道该怎么办。我首先尝试用 SwiftyJSON 解析它或充当字典。
很遗憾,我失败了。
有人可以帮助我吗? 我是 swift 的新人,所以请原谅。
谢谢
首先您需要安全地解包响应,然后访问 JSON。这里的这一切都是手动完成的,没有编码器、解码器或第三方
if let response = response as? [String: Any] {
if let rowData = response["row"] as? [[String: Any]] {
for row in rowData {
if let id = row["id"] as? Int {
print(id.description)
}
if let key = row["key"] as? Int {
print(key.description)
}
if let value = row["value"] as? [String: Any] {
if let rev = value["rev"] as? String {
print(rev)
}
}
}
}
}
但我建议您看看 ObjectMapper which helps you a lot with JSONs or you could give it a try learning Encoding and Decoding Apple