У меня есть json ниже, но не удается выяснить, как его разобрать в Swift 3. Мой код ниже. Json из API имеет корень массива. Я использую Xcode 8.2.1 с Swift 4 и Alamofire 4.0.Как разобрать этот json с Alamofire 4 в Swift 3?
["items": <__NSArrayM 0x608000248af0>(
{
currency = USD;
image = "https://cdn.myDomain.com/image.jpg";
"item_title" = "Antique Table";
"name:" = "";
price = 675;
},
{
currency = USD;
image = "https://cdn.mydomain.com/image2.jpg";
"name:" = "";
price = 950;
...
Вот мой код. Я попытался получить словарь r r из результатов, но он всегда равен нулю.
Alamofire.request(myURL)
.responseJSON(completionHandler: {
response in
self.parseData(JSONData: response.data!)
})
}
func parseData(JSONData: Data) {
do {
let readableJSON = try JSONSerialization.jsonObject(with: JSONData, options:.mutableContainers) as! [String: Any]
print(readableJSON)
}
catch {
print(error)
}
}
Я попытался это let item = readableJSON["items"] as? [[String: Any]]
как предложено here, но это не будет компилировать с ошибкой [String:Any] has no subscript
и let item = readableJSON["items"] as? [String: Any]!
компилирует с предупреждением Expression implicitly coerced from string
но производит ноль. Размышление об этом json - это жизнь или смерть для меня.
Исследование это: https://developer.apple.com/swift/blog/?id=37 – Moritz
Я читал, что и, возможно, я Я просто тупой, но я не могу найти шаблон json, который соответствует моему, и через 2 дня я пришел сюда. – markhorrocks
Вот подсказка (практически полное решение, на самом деле): «items» - это словарь, содержащий массив. Этот массив содержит словари. // Конец, сделано. – Moritz