Итак, я получаю следующее json:
{
"output": [
"{\"cameraIsOnboarded\" : true}"
],
"exit_code": 0
}
Я попытался декодировать его с помощью следующей модели:
struct CameraOnboard: Codable {
var output: [Output]
//var exit_code: Int?
}
struct Output: Codable {
var cameraIsOnboarded: Bool?
}
И затем использовать это в моем парсере:
let infoString = try JSONDecoder().decode(CameraOnboard.self, from: data)
но это не работает.
Затем я попытался использовать JSONSerialization, потому что мне показалось, что у меня проблема с ключом \ "cameraIsOnboarded \", поэтому я получил строку результата alamofire и попытался выполнить следующее:
let jsonData = data.data(using: .utf8)
var dic: [String : Any]?
do {
dic = try JSONSerialization.jsonObject(with: jsonData!, options: []) as? [String : Any]
} catch {
print(error.localizedDescription)
}
print(dic!)
if let outPutArr = dic?["output"] as? NSArray {
print(outPutArr)
if let first = outPutArr.firstObject {
print(first)
//let val = first["cameraIsOnboarded"]
// print(val!)
}
}
так, как указано выше, я пока не знаю, как извлечь значение, я печатаю:
{"cameraIsOnboarded": true}
, если я делаю следующее:
if let first = outPutArr.firstObject as? [String: Bool] {
print(first)
//let val = first["cameraIsOnboarded"]
// print(val!)
}
это не шаг внутри.
Спасибо