【问题标题】:How to catch error while parsing json without using if for each key?如何在解析 json 时捕获错误而不使用每个键的 if?
【发布时间】:2016-02-18 10:34:40
【问题描述】:

这是我如何解析 json:

let myObject = MyObject()
let string1 = if jsonObject["string1"] as? String{
    myObject.string1 = string1
}else{
  throw InValidJson
}

let string2 = if jsonObject["string2"] as? String{
    myObject.string2 = string2
}else{
  throw InValidJson
}

let string3 = if jsonObject["string3"] as? String{
    myObject.string3 = string3
}else{
  throw InValidJson
}

但是如果我在每个地方都使用太多的代码,是否可以执行以下操作:

do{
   myObject.string1 = if jsonObject["string1"] as! String
   myObject.string2 = if jsonObject["string2"] as! String
   myObject.string3 = if jsonObject["string3"] as! String

}catch(){
   error.description
}

所以我不需要检查每个键,因为我的 json 太大了。

谢谢

【问题讨论】:

    标签: ios swift ios8 ios9


    【解决方案1】:

    你可以这样做:

    guard let string1 = jsonObject["string1"] as? String,
      string2 = jsonObject["string2"] as? String,
      string3 = jsonObject["string3"] as? String else {
      //handle error
      return
    }
    

    【讨论】:

    • 谢谢您的回答,是否可以检查哪些键导致错误
    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 2013-05-19
    • 2018-03-31
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    相关资源
    最近更新 更多