首页 > 解决方案 > 在 Swift 中从看起来像对象数组的字符串中分离键值

问题描述

如果我这样做:

let retrievedJson = String(decoding: data, as: UTF8.self)
 print(retrievedJson)

我在控制台中得到了这个:

[{"label":"20-05-16","value":"67p4i"},{"label":"20-05-17","value":"d17bz"}]

我如何获取这个字符串并制作两个单独的数组。

前任:

["20-05-16", "20-05-17"]

["67p4i", "d17bz"]

还有一种方法可以将看起来像数组的字符串转换为数组吗?

标签: iosswift

解决方案


你需要

do {
    let res = try JSONDecoder().decode([Root].self,from:data)
    let keys = res.map { $0.label } // ["20-05-16", "20-05-17"]
    let values = res.map { $0.value } // ["67p4i", "d17bz"]
  }
  catch { 
    print(error)
  }

struct Root: Codable {
    let label, value: String
}

推荐阅读