Я пытаюсь десериализовать объект JSON, который хранится в массиве. Я использую SwiftyJSON, но программа не ведет себя так, как я ожидал.Анализ данных и передача их между представлениями SwiftyJSON и AlamoFire
Это массив:
var GamesList = [JSON]();
Массив держит мои 2 JSON объектов:
{ "game_type": "ТРАДИЦИОННЫЙ", "game_player_winner": "", "game_state" : "НАЧАТЬ", "self_left": "2", "self_right": "1", "self_name": "test2", "opponent_right": "1", "opponent_name": "test1", "ga me_guid»: "153fac87-bfc4-367f-41fa-944753dc32c8", " game_idle_time": 755858, " opponent_left": "3" }, { "game_type": "традиционный", " game_player_winner": "" , "game_state": "НАЧАТЬ", "self_left": "2", "self_right": "1", "self_name": "test2", "opponent_right": "1", "opponent_name" : "johannesswart", "game_guid": "153fac87-bfc4-367f-41fa-944753dc32c9", "game_idle_time": 755858, "opponent_left": "3" }] Hier является JE GameState: Необязательный ({ " game_type ":" TRADITIONAL ", "game_player_winner": "", "game_state": "НАЧАТЬ", "self_left": "2", "self_right": "1", "self_name": "test2", "opponent_right": " 1" , "opponent_name": "TestUser", "game_guid": "153fac87-bfc4-367f-41fa-944753dc32c9", "game_idle_time": 755858, "opponent_left": "3"}
Я создаю новый объект JSON и заполняю его значением объекта 1 из массива:
var gameState : JSON?;
self.gameState = GamesList[1];
Когда я печатаю весь объект self.gameState на консоли, все хорошо, и похоже, что я ожидал. Однако, когда я хочу просто использовать 1 значение этого объекта JSON, я не могу заставить его работать.
Я попытался с:
self.gameState["game_type"].string;
И:
var foo = JSON(self.gameState);
Но это и не компилируется. Что я делаю не так?
Спасибо за ваш ответ! Это, к сожалению, не помогло мне решить проблему. Я получаю сообщение об ошибке при попытке сделать: self.gameState [1]. Xcode говорит: не может индексировать значение типа «JSON» с индексом типа «int», –