json - 如何获取json大括号内的多个数据? swift

标签 json swift

如何在swift3中获取json大括号内的多个数据?

我可以使用此代码获取多个数据吗? (获取“crew_id”、“crew_name”、“crew_email”)

if let crew = user!["crew"] as? [String:Any], let crewName = crew["crew_name"] as? String {
print(crewName)

JSON

crew ={
    "crew_avatar" = "http://ec2-52-221-231-3.ap-southeast-1.compute.amazonaws.com/gv/images/profile_image/Pang_Kang_Ming_916210_0e9.jpg";
    "crew_contact" = 0123456789;
    "crew_email" = "pang@xover.com.my";
    "crew_gender" = Male;
    "crew_id" = PP000001;
    "crew_name" = "Pang Kang Ming";
    "crew_preferred_name" = PKM;
    "crew_qrcode" = "images/qrcode/qrcode_085960293a5378a64bec6ebfa3c89bb7.png";
};
message = "Login Sucessfully";
result = success;

最佳答案

是的,可以,只需添加您想要解包的值,如下所示,只需注意,如果其中一个可选绑定(bind)未解包,即使其他解包 if 语句也不会执行,请考虑将 if 语句分开。

取决于 json 中返回的所有内容。

if let crew = user!["crew"] as? [String:Any],
let crewName = crew["crew_name"] as? String,
let crewId = crew["crew_id"] as? String {
 print(crewName)
 print(crewId)
}

推荐的方式,即使某些值不存在于 json 响应中,您也可以获得其他值。

   if let crew = user!["crew"] as? [String:Any] {
    if let crewName = crew["crew_name"] as? String {
      print(crewName)
    }
    if let crewId = crew["crew_id"] as? String {
      print(crewId)
    }
  }

关于json - 如何获取json大括号内的多个数据? swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45790368/

相关文章:

jquery - wcf REST 服务和 JQuery Ajax 帖子 : Method not allowed

json - 使用命令 sed 更改日志文件日期?

jquery - IE8 中无效的 JSON 对象,但 Chrome 中无效

Objective-C:如何读取 JSON?

swift - 如何牵连UICollectionViewCell翻转动画

swift - 排序结构 -> 二元运算符 '<' 不能应用于两个 'String?' 操作数

python - 在 Swift 中返回整数列表

java - 在 java 中使用 JSON 到 bitbucket 服务器的 HTTP POST 返回 400 作为响应代码

macos - 如何在同一个 Mac 窗口中显示一个新的 View Controller ?

swift - 如何在将场景保存/导出为 .dae 格式时保留 SceneKit 中纹理的平铺信息(contentTransform 属性)?