我正在使用tableview解析JSON数据。在tableview中成功解析了tableview中的数据后,我的问题是用户单击tableview单元格以传递到详细信息ViewController。但是问题是我无法在
中的详细信息ViewController中解析JSON这是我的JSON外观
[
{
"id": "263",
"userId": "2692"
}
]
这是我的代码
guard let url = URL(string: URL API) else { return }
var request = URLRequest(url: url)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer \(AccessToken!)", forHTTPHeaderField: "Authorization")
request.httpMethod = "GET"
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
do {
let json = try JSONSerialization.jsonObject(with: data!, options: []) as? [string: anyobject]
print(json)
label.text = json["id"] as? string
}catch {
}
}.resume()
答案 0 :(得分:0)
请尝试使用此代码
do {
if let json = try JSONSerialization.jsonObject(with: data!) as? [[String: String]] {
for data in json {
label.text = data["id"] as? String
}
}
} catch { print(error) }
答案 1 :(得分:0)
使用Codable协议在swift4中解析json。 像这样声明您的模型:
struct Model: Codable {
let id: Double
let userId: Double
enum CodingKeys : String, CodingKey {
case id = "id"
case userId = "userId"
}
}
然后,在获取数据后,使用此:
do {
let arrayValue = try JSONDecoder().decode([Model], from: data)
}
catch {
}
请注意,您的json是数组而不是字典!