Я пытаюсь декодировать несколько URL-адресов JSON в класс. Поскольку я использую API, я не могу контролировать тот факт, что данные JSON разбиты на два URL-адреса. Вот формулировка проблемы:
У меня есть класс под названием Student
JSON URL student_info.json
содержит словарь со всеми учащимися и Student
константами экземпляра A
и B
.
JSON URL student_status.json
содержит Student
переменных экземпляра C
, D
и E
.
Мне нужно сделать следующее:
Получить словарь студентов из student_info.json
, чтобы заполнить коллекцию студентов и создать их с атрибутами A
и B
.
Сохраните эту коллекцию Student
, чтобы она была доступна на протяжении всего жизненного цикла приложения.
Извлеките словарь информации о студентах из student_status.json
и заполните Student
переменные экземпляра C
, D
и E
для каждого учащегося в коллекции.
Время от времени обновляйте коллекцию учеников (на случай, если кто-то был пропущен или добавлен).
Время от времени обновляйте переменные C
, D
и E
для каждого учащегося в коллекции.
Вот несколько примеров файлов:
Файл
student_info.json
Содержание
{
"last_updated": 1535936693,
"tyl": 10,
"data": {
"students": [
{
"student_id": "1",
"name": "John Appleseed",
},
{
"student_id": "2",
"name": "Jane Doe"
}
]
}
}
Файл
student_status.json
Содержание
{
"last_updated": 1535936693,
"tyl": 10,
"data": {
"students": [
{
"student_id": "1",
"number_of_classes": "10",
"GPA": "2.87",
"tuition_due": "237.33"
},
{
"student_id": "2",
"number_of_classes": "10",
"GPA": "2.87",
"tuition_due": "237.33"
}
]
}
}
Файл
Student.swift
Содержание
class Student {
var student_id: Int
var name: String
var numberOfClasses: Int?
var gpa: Double?
var tuitionDue: Double?
}