ios - 在 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"]
还有一种方法可以将看起来像数组的字符串转换为数组吗?
解决方案
你需要
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
}
推荐阅读
- python - 如何将此数据框转换为所需的设计?
- xamarin - iOS 导航栏上的 Xamarin Forms & Prism 是双倍高度
- r - 使用 lm() 与 t.test() 反转测试统计量的符号
- java - 如何使用 PowerMockito 模拟文件数组?
- testing - Apex - 测试批处理类执行方法未覆盖代码覆盖率
- c - WSAConnect - 远程服务器响应端口 80 和 443
- java - 为 FeignClient RetryableException 设置 HTTP 状态
- c# - datagridview 单元格相乘并求和文本框中的列
- service-reference - 服务引用上的 C# 中的 FakeItEasy
- linux - VS Code 无法正确响应 Linux Mint 中的键盘切换?