json - 使用 SwiftyJSON 和 AlamoFire 解析数据并在 View 之间传输数据

标签 json swift

我正在尝试反序列化数组中保存的 JSON 对象。我正在使用 SwiftyJSON,但程序的行为不符合我的预期。

这是数组:

var GamesList = [JSON]();

该数组包含我的 2 个 JSON 对象:

{ "game_type": "传统", “game_player_winner”:“”, "game_state": "已开始", “self_left”:“2”, “ self 权利”:“1”, “self_name”:“测试2”, “对手权利”:“1”, "opponent_name": "test1", “game_guid”:“153fac87-bfc4-367f-41fa-944753dc32c8”, “游戏空闲时间”:755858, “对手左”:“3” }, { "game_type": "传统", “game_player_winner”:“”, "game_state": "已开始", “self_left”:“2”, “ self 权利”:“1”, “self_name”:“测试2”, “对手权利”:“1”, "opponent_name": "约翰内斯沃特", “game_guid”:“153fac87-bfc4-367f-41fa-944753dc32c9”, “游戏空闲时间”:755858, “对手左”:“3” }] 这是我的游戏状态:可选({ "game_type": "传统", “game_player_winner”:“”, "game_state": "已开始", “self_left”:“2”, “ self 权利”:“1”, “self_name”:“测试2”, “对手权利”:“1”, "opponent_name": "测试用户", “game_guid”:“153fac87-bfc4-367f-41fa-944753dc32c9”, “游戏空闲时间”:755858, “对手左”:“3” }

我创建一个新的 JSON 对象,并用数组中对象 1 的值填充它:

var gameState : JSON?;
self.gameState = GamesList[1];

当我将整个 self.gameState 对象打印到控制台时,一切都很好,它看起来就像我所期望的那样。但是,当我只想使用此 JSON 对象的 1 个值时,我似乎无法让它工作。

我尝试过:

self.gameState["game_type"].string;

并且:

var foo = JSON(self.gameState);

但这都无法编译。我究竟做错了什么?

最佳答案

我知道这可能令人沮丧,但这实际上是一个非常简单的修复。 不久前我在使用 AlamoFire 时遇到了同样的问题。

我可以明白为什么它没有编译,但您正在尝试从 Array 中检索 key,如下所示:

self.gameState["game_type"]

但是Array类型没有key:value对,简单来说它是通过索引访问的:

self.gameState[1]

第 1 步

因此,不要使用数组,而是将 JSON 放入字典中。之后,请按照下列步骤操作:

确保您的 JSON 数据存储在字典中,例如:

let jsonData: [String:String] = //your JSON

(如果您要操作 jsonData 中的数据,请使用 var 键盘。

第 2 步

将 JSON 数据存储在字典中后,只需执行以下操作:

let gameState = jsonData["game_type"]!

此后您应该不会有问题。

希望我能够阐明一些观点,如果有任何不清楚的地方,请发表评论。

关于json - 使用 SwiftyJSON 和 AlamoFire 解析数据并在 View 之间传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30966856/

相关文章:

ios - 自动布局和线性方程

ios - 如何在 Swift 中将代理对转换为 Unicode 标量

java - 如何直接从 JsonGenerator 构建 JsonNodes 树

javascript - 搜索 JSON 以查找特定值

java - 将 JSON 字符串转换为 Java 对象 : Java

arrays - 追加到 Swift 中的通用数组

ios "Copy to myApp"在事件 View 中

java - JSONObject 累加​​并把这个 "[]"字符串转换为数组

json - 快速将 NSArray 解包为 String

ios - 使用自动布局制作完美的正方形