Ruby: Как разобрать JSON для определенных типов - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть JSON, который я хочу проанализировать в Ruby. Ruby для меня совершенно новый, но я должен с ним работать: -)

Вот мой маленький фрагмент кода, который должен выполнить синтаксический анализ:

response = File.read("app/helpers/example_announcement.json")
JSON.parse(response)

это работает довольно хорошо. Единственным недостатком является то, что я не знаю свойства в том месте, где я его использую, это небезопасно. Поэтому я создал для него объекты

class Announcements
    @@announcements = Hash # a map key => value where key is string and value is type of  Announcement
end

class Announcement
    @@name = ""
    @@status = ""
    @@rewards = Array
end

А вот так выглядит json

{
  "announcements": {
    "id1" : {
      "name": "The Diamond Announcement",
      "status": "published",
      "reward": [
        {
          "id": "hardCurrency",
          "amount": 100
        }
      ]
    },
    "id2":   {
      "name": "The Normal Announcement",
      "players": [],
      "status": "published",
      "reward": []
    }
  }
}

Итак, я попытался выполнить разбор JSON следующим образом

response = File.read("app/helpers/example_announcement.json")
JSON.parse(response, Announcements)

Но это не так, как работает ^^ Кто-нибудь может мне помочь с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...