【问题标题】:Swift3 get element from arraySwift3 从数组中获取元素
【发布时间】:2017-03-26 12:19:03
【问题描述】:

我有一个 json 字符串转换为字符串数组,如下所示:

    let str = "{ \"dtResult\": [ { \"itmdtl_item_no\": \"AO406705959SE3\" }, { \"itmdtl_item_no\": \"AO406708959SE3\" } ] }"
    let data = str.data(using: String.Encoding.utf8, allowLossyConversion: false)!

    do {
        let json = try JSONSerialization.jsonObject(with: data, options: []) as! [String: AnyObject]

        let result = json["dtResult"] as? [[String:Any]] ?? [ ]
        let item = result[0] as! [String:Any]

        print(item)

    } catch let error as NSError {
        print("Failed to load: \(error.localizedDescription)")
    }

当我打印出项目的结果时,我得到了这样的值:

[“itmdtl_item_no”:AO406705959SE3]

但我只想要字符串“AO406705959SE3”,我该怎么办?谢谢。

【问题讨论】:

    标签: arrays json swift string


    【解决方案1】:

    首先不要写

    let result = json["dtResult"] as? [[String:Any]] ?? [ ]
    

    如果resultnil 或为空应用程序将在result[0] 上崩溃

    改为写入检查数组是否存在且不为空

    if let result = json["dtResult"] as? [[String:Any]], !result.isEmpty {
       let item = result[0] as! [String:Any]
       // Now get the value for key "itmdtl_item_no"
       if let itemNo = item["itmdtl_item_no"] as? String {
           print(itemNo)
       }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-12-19
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多