【发布时间】:2019-06-15 15:58:25
【问题描述】:
我有来自 API 的 JSON 响应,如下所示:
[{
"id":"6",
"name":"Лилия",
"description":"Сауна "Лилия" ждёт всех тех, кто хочет отдохнуть от суеты в специально созданной для этого атмосфере тепла и уюта. В Вашем распоряжении 3 жаркие сауны, комнаты отдыха, 3 бассейна (один длиной 14 м), в котором Вы можете прекрасно поплавать. Для Вашего удобства всегда в продаже берёзовые и дубовые веники. При желании можно заказать блюда европейской кухни и напитки прямо в сауну. Рады видеть Вас в нашей сауне круглосуточно! Стоимость саун от 350 руб./час - более подробную информацию уточняйте у администратора"
}]
尝试将其解码为我的模型 但出现错误:
dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "给定的数据不是有效的 JSON。", basedError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "字符 58 周围的对象格式错误。" UserInfo ={NSDebugDescription=字符 58 周围的对象格式错误。})))
我的代码:
class NetworkService {
var companies = [Company]()
let session = URLSession(configuration: .default)
func getCompanies(stringUrl: String) {
guard let url = URL(string: stringUrl) else { return }
let task = session.dataTask(with: url) { (data, response, error) in
guard let dataResponse = data, error == nil else {
print(error?.localizedDescription ?? "Response Error")
return
}
do {
self.companies = try JSONDecoder().decode(Array<Company>.self, from: dataResponse)
} catch let parsingError {
print("error", parsingError)
}
}
task.resume()
}
}
型号:
struct Company: Codable {
let name: String
let description: String?
}
【问题讨论】:
-
description中引号中的单词与name中的单词相同是巧合还是一种模式? -
这是一个巧合。翻译是这样的: { "name": "Lilia", "description": "桑拿“Lilia”在等你们想要休息的人......" }