I have A JSON return where numbers are outputted in String
.
JSON Return:
"currentClasses": [
{
"name": "CATE27600B - 3 Mobile App Programming S2@CTEC",
"grade": "100",
"weight": "6",
"credits": "1",
"Last Updated": "",
"assignments": []
},
{
"name": "CATE36400B - 1 Prac News Prod 2 S2",
"grade": "",
"weight": "5",
"credits": "1",
"Last Updated": "1/6/2022",
"assignments": [
{
"assignment": "PA Script #3",
"category": "Minor Grades",
"dateAssigned": "02/09/2022",
"dateDue": "03/04/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Social Media Posts",
"category": "Minor Grades",
"dateAssigned": "01/04/2022",
"dateDue": "03/02/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "MP3 Package/Segment #2",
"category": "Major Grades",
"dateAssigned": "01/10/2022",
"dateDue": "03/02/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Event Coverage",
"category": "Major Grades",
"dateAssigned": "01/04/2022",
"dateDue": "02/25/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "PA Script #2",
"category": "Minor Grades",
"dateAssigned": "01/24/2022",
"dateDue": "02/08/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "MP3 Package/Segment #1",
"category": "Major Grades",
"dateAssigned": "01/11/2022",
"dateDue": "02/04/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "PA Script #1",
"category": "Minor Grades",
"dateAssigned": "01/04/2022",
"dateDue": "01/21/2022",
"score": "97.00",
"totalPoints": "100.00"
},
{
"assignment": "MP3 Calendar Check",
"category": "Non-graded",
"dateAssigned": "01/04/2022",
"dateDue": "01/06/2022",
"score": "100.0",
"totalPoints": "100.00"
}
]
},
{
"name": "ELA14300B - 4 AP English Literature S2",
"grade": "85.00",
"weight": "6",
"credits": "1",
"Last Updated": "1/13/2022",
"assignments": [
{
"assignment": "Thesis Practice #1",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/13/2022",
"score": "90.00",
"totalPoints": "100.00"
},
{
"assignment": "Christmas Carol Q3 Essay",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/05/2022",
"score": "80.00",
"totalPoints": "100.00"
}
]
},
{
"name": "MTH45300B - 1 AP Calculus AB S2",
"grade": "80.80",
"weight": "6",
"credits": "1",
"Last Updated": "1/10/2022",
"assignments": [
{
"assignment": "Unit 6 Test (Integration)",
"category": "Major Grades",
"dateAssigned": "",
"dateDue": "02/08/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Delta Math Practice (Unit 6)",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "02/08/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Quiz 4 (Antiderivatives and Rules of Integration)",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/31/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Quiz 3 (FTC and Definite Integrals)",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/27/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Quiz 2 (Properties of Def. Integrals)",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/25/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Quiz 1 (Reimann Sums and Definite Integrals)",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/19/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 5 Test (Analytical Applications of Derivatives)",
"category": "Major Grades",
"dateAssigned": "",
"dateDue": "01/10/2022",
"score": "78.00",
"totalPoints": "100.00"
},
{
"assignment": "Delta Math Practice (Unit 5)",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/10/2022",
"score": "85.00",
"totalPoints": "100.00"
}
]
},
{
"name": "MTH45310B - 4 AP Statistics S2",
"grade": "0.00",
"weight": "6",
"credits": "1",
"Last Updated": "",
"assignments": [
{
"assignment": "Test - 8 Confidence Intervals",
"category": "Major Grades",
"dateAssigned": "",
"dateDue": "01/26/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Skills Check - 8 Confidence Intervals",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/24/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Practice - 8.3 (canvas)",
"category": "Non-graded",
"dateAssigned": "",
"dateDue": "01/24/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Practice - 8.2 (canvas)",
"category": "Non-graded",
"dateAssigned": "",
"dateDue": "01/24/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Practice - 8.1 (canvas)",
"category": "Non-graded",
"dateAssigned": "",
"dateDue": "01/24/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Group Skills Check - 7 Sampling Distributions",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/11/2022",
"score": "",
"totalPoints": "50.00"
}
]
},
{
"name": "SCI43300B - 1 AP Environmental Science S2",
"grade": "",
"weight": "6",
"credits": "1",
"Last Updated": "",
"assignments": []
},
{
"name": "SST34300 - 4 AP Government",
"grade": "0.00",
"weight": "6",
"credits": "1",
"Last Updated": "",
"assignments": [
{
"assignment": "Midterm Exam (Units 1 & 2)",
"category": "Major Grades",
"dateAssigned": "",
"dateDue": "02/23/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 2 Major Grade FRQ",
"category": "Major Grades",
"dateAssigned": "",
"dateDue": "02/16/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 2 MC Quiz",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "02/14/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 2 Argument FRQ Practice",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "02/11/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 2 Congress FRQ Practice",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "02/04/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 1 Major Grade FRQ",
"category": "Major Grades",
"dateAssigned": "",
"dateDue": "01/21/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 1 MC Quiz",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/21/2022",
"score": "",
"totalPoints": "100.00"
},
{
"assignment": "Unit 1 Concept Application & Argument FRQ Practice",
"category": "Minor Grades",
"dateAssigned": "",
"dateDue": "01/14/2022",
"score": "",
"totalPoints": "100.00"
}
]
}
]
}
However I need it to be returned like this:
"currentClasses": [
[
"name": "CATE27600A - 3 Mobile App Programming S1@CTEC",
"grade": 100,
"weight": 6,
"credits": 1
],
[
"name": "CATE36400A - 1 Prac News Prod 2 S1",
"grade": 91.48,
"weight": 5,
"credits": 1
],
[
"name": "ELA14300A - 4 AP English Literature S1",
"grade": 88.13,
"weight": 6,
"credits": 1
],
[
"name": "MTH45300A - 1 AP Calculus AB S1",
"grade": 79.4,
"weight": 6,
"credits": 1
],
[
"name": "MTH45310A - 4 AP Statistics S1",
"grade": 79.48,
"weight": 6,
"credits": 1
],
[
"name": "SCI43300A - 1 AP Environmental Science S1",
"grade": 94,
"weight": 6,
"credits": 1
],
[
"name": "SST34310 - 3 AP Economics",
"grade": 93.24,
"weight": 6,
"credits": 1
]
]
I have this structure made:
// MARK: - Welcome
struct Welcome: Codable {
let currentClasses: [CurrentClass]
}
// MARK: - CurrentClass
struct CurrentClass: Codable {
let name, grade, weight, credits: String
let lastUpdated: String
let assignments: [Assignment]
enum CodingKeys: String, CodingKey {
case name, grade, weight, credits
case lastUpdated = "Last Updated"
case assignments
}
}
// MARK: - Assignment
struct Assignment: Codable {
let assignment: String
let category: Category
let dateAssigned, dateDue, score, totalPoints: String
}
enum Category: String, Codable {
case majorGrades = "Major Grades"
case minorGrades = "Minor Grades"
case nonGraded = "Non-graded"
}
I need specifically the grade, weight, and credits to be returned as a Float
for all of the classes.
Your structs define those values as type String
:
let name, grade, weight, credits: String
Simply change the appropriate variables to be of type Double
and they will be outputted how you want.
let name: String
let grade, weight, credits: Double
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.