Декодирование нескольких URL-адресов JSON в один класс - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь декодировать несколько URL-адресов JSON в класс. Поскольку я использую API, я не могу контролировать тот факт, что данные JSON разбиты на два URL-адреса. Вот формулировка проблемы:

  1. У меня есть класс под названием Student

  2. JSON URL student_info.json содержит словарь со всеми учащимися и Student константами экземпляра A и B.

  3. JSON URL student_status.json содержит Student переменных экземпляра C, D и E.

Мне нужно сделать следующее:

  1. Получить словарь студентов из student_info.json, чтобы заполнить коллекцию студентов и создать их с атрибутами A и B.

  2. Сохраните эту коллекцию Student, чтобы она была доступна на протяжении всего жизненного цикла приложения.

  3. Извлеките словарь информации о студентах из student_status.json и заполните Student переменные экземпляра C, D и E для каждого учащегося в коллекции.

  4. Время от времени обновляйте коллекцию учеников (на случай, если кто-то был пропущен или добавлен).

  5. Время от времени обновляйте переменные 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?
}
...