我需要使用 Alamofire 解析 Json 的帮助
Posted
技术标签:
【中文标题】我需要使用 Alamofire 解析 Json 的帮助【英文标题】:I need help for Json parsing with Alamofire 【发布时间】:2019-06-25 14:24:31 【问题描述】:我是一名初级程序员,我无法解析我的 json 文件。我可以在控制台中看到数据,但我需要帮助来解析 json 数据。我从 url 分享了我的 json 数据,我想用 Alamofire 解析。我用 Alamofite 和 SwiftyJSON 安装了 PodFile。我没有任何错误,但我需要帮助来解析它。 我还为以下数据创建了字符串数组。我将在数组中追加数据。
[
"id" : 1,
"team" : "Liverpool",
"players" : [
"id" : 2,
"name" : "Alisson",
"position" : "Goal Keeper",
"number" : "13"
,
"id" : 3,
"name" : "Salah",
"position" : "Forward",
"number" : "10"
],
"trophies" : [
"2019 champions league",
"2005 champions league"
],
"logoUrl" : "url"
,
"id" : 4,
"team" : "Real Madrid",
"players" : [
"id" : 5,
"name" : "Ramos",
"position" : "Defender",
"number" : "4"
,
"id" : 6,
"name" : "Benzema",
"position" : "Forward",
"number" : "9"
],
"trophies" : [
"2018 champions league",
"2017 champions league",
"2016 champions league"
],
"logoUrl" : "url"
]
import Alamofire
import SwiftyJSON
func fetchJsonData()
DispatchQueue.main.async
Alamofire.request(url).responseData response in
guard let data = response.data else return
do
let res = try JSONDecoder().decode([PageData].self, from:data)
print(res)
catch
print("having trouble converting it to a dictionary" , error)
// this is my modal file
struct PageData: Codable
let team: String
let players: [Player]
let trophies: [String]
let logoUrlL: String
struct Player: Codable
let id: Int
let name,position, number: String?
【问题讨论】:
【参考方案1】:您需要responseData
才能使用JSONDecoder
Alamofire.request(url).responseData response in
guard let data = response.data else return
do
let res = try JSONDecoder().decode([PageData].self, from:data)
print(res)
catch
print("having trouble converting it to a dictionary" , error)
players
和 trophies
也是数组
struct PageData: Codable
let team: String
let players: [Player]
let trophies: [String]
let logoUrlL: String
struct Player: Codable
let id: Int
let name,position, number, type, quantity: String?
【讨论】:
感谢您的回答,但无法将其转换为字典。我在控制台中看不到任何数据兄弟 从答案中重新复制结构并尝试 我的错误对不起类型和质量。对不起,这是我个人的错误。我编辑它。玩家将只有名称位置一个数字字符串:(再次抱歉 edit 仍然使用[]
使其成为一个数组??你需要它
作为 1 项字典吗??
我可以在控制台上看到带有我的代码的 []。我会用tableview列出团队信息。我无法解析它,我的朋友:/以上是关于我需要使用 Alamofire 解析 Json 的帮助的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何使用 Alamofire 和 SwiftyJSON 解析来自 API 的 JSON 响应?