使用 Swift 4 Decodable 将字符串 JSON 响应转换为布尔值

阿德里安

我正在重构一些我以前使用第三方 JSON 解析器的项目,我遇到了一个愚蠢的网站,它返回一个布尔值作为字符串。

这是来自 JSON 响应的相关片段:

{
    "delay": "false",
    /* a bunch of other keys*/
}

我的解码结构如下所示:

struct MyJSONStruct: Decodable {
  let delay: Bool
  // the rest of the keys
}

我如何将 JSON 响应中返回的字符串转换为 Bool 以匹配我在 Swift 4 中的结构?虽然这篇文章很有帮助,但我不知道如何将字符串响应转换为布尔值。

瓦迪安

基本上你必须编写一个自定义初始化程序,但是如果有很多好的键但只有一个可以从一种类型映射到另一种类型,那么计算属性可能很有用

struct MyJSONStruct: Decodable {
   var delay: String
   // the rest of the keys

   var boolDelay : Bool {
       get { return delay == "true" }
       set { delay = newValue ? "true" : "false" }
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Swift 4中将Json字符串转换为Json对象

使用Swift将字符串转换为Int

使用Swift 4将HTML数据转换为JSON转换为字符串

Swift 4 Decodable:给定的数据不是有效的JSON

Swift 4 Codable:将JSON返回字符串转换为Int / Date / Float

使用jQuery将JSON字符串转换为Datatable

使用Swift将JSON字符串转换为NSDictionary

Swift:使用ObjectMapper将JSON字符串转换为自定义对象数组

使用Inno Setup将布尔值转换为字符串

将布尔值转换为json.dumps()中的字符串

如何使用Decodable协议将此JSON转换为Swift结构?

使用Pentaho Kettle将字符串转换为布尔值

将所有字符串值从JSON响应转换为int

处理包含多种类型的JSON数组-Swift 4 Decodable

在RxSwift中使用Swift 4 Decodable协议

在Swift 4中使用Base64将图像转换为字符串

如何使用json4s将json转换为带有转义字符的字符串

使用Decodable将空的JSON字符串值解码为nil

如何在Swift 4中将JSON字典转换为字符串值

使用卷曲引号时将字符串JSON转换为Swift中的字典

在Swift中使用Decodable解析嵌套的JSON

将部分JSON字符串输出转换为布尔值

json布尔值转换为字符串

任何将 API 字符串响应转换为 json 响应的服务?

Swift 4 - 使用 NSString 将字符串转换为双精度值

使用 Swift 4 Decodable 的 JSON/简单文本解析服务器响应

使用 Decodable for JSON 时出错 - Swift

在java中使用字符串作为条件(将字符串转换为布尔值)

使用 jq 将 JSON 响应转换为键值对