【发布时间】:2021-08-10 13:39:42
【问题描述】:
我正在使用 Alamofire 和 SwiftyJSON,我正在获取我的数据,但我的观点只是重复 JSON 的第一个元素的数据。数据应该是星期一、星期二、星期三等
[![在此处输入图片描述][1]][1]
这是我正在使用的课程
class observer : ObservableObject {
@Published var datas = [datatype]()
init() {
AF.request("https://api.npoint.io/e667b934a476b8b88745").responseData { (data) in
let json = try! JSON(data: data.data!)
let trainingDay = json["weekExercise"].arrayValue.map
{$0["exercise"].stringValue}
print(trainingDay)
for i in json["weekExercise"]{
self.datas.append(datatype(id: i.1["weeknumber"].intValue,
day: i.1["day"].stringValue,
exercise: i.1["exercise"].stringValue,
dayMiles: i.1["dayMiles"].intValue))
}
}
}
}
我的数据如下所示:
{
"weeknumber": 1,
"weekExercise": [
{
"day": "Monday",
"dayMiles": 6,
"exercise": "6 miles"
},
{
"day": "Tuesday",
"dayMiles": 9,
"exercise": "12 x 400m WU/CD"
},
{
"day": "Wednesday",
"dayMiles": 0,
"exercise": "Rest"
},
{
"day": "Thursday",
"dayMiles": 6,
"exercise": "6 miles"
},
{
"day": "Friday",
"dayMiles": 6,
"exercise": "6 miles"
},
{
"day": "Saturday",
"dayMiles": 6,
"exercise": "6 miles"
},
{
"day": "Saturday",
"dayMiles": 8,
"exercise": "8 miles"
}
],
"totalWeekMiles": 41,
"planName": "Hanson Method Advance"
}
[1]: https://i.stack.imgur.com/9ZlRy.png?s=256
【问题讨论】:
-
显示你如何显示数据?
-
除了问题之外,您的代码无法工作,因为
weekNumber与dayMiles不在同一级别 -
@Sh_Khan 给你pastebin.com/CubSaz5m。
-
@vadian 谢谢,我想知道这是否是原因。有关改进数据对象的任何建议?
标签: swift swifty-json