【发布时间】:2018-01-15 17:03:45
【问题描述】:
目前我们有以这种格式返回的 json 值
"CSS_RGB__c": "rgb(190,102,123)",
我正在尝试将这些值转换为单独的 ,r,g,b 值(例如 r = 190, g = 102, b = 123)
以前这行得通:
if let raw = dictionary["CSS_RGB__c"] as? NSString {
let filtered = raw.substring(from: 4).trimmingCharacters(in: CharacterSet(charactersIn: ")"))
var values = filtered.components(separatedBy: ",")
if values.count == 3 {
self["r"] = NSString(string: values[0]).floatValue as NSNumber?
self["g"] = NSString(string: values[1]).floatValue as NSNumber?
self["b"] = NSString(string: values[2]).floatValue as NSNumber?
}
}
但是使用 swift 4 解析 json 的新方法我不完全确定如何拆分值:
struct Family: Codable {
let cssRGBC: String
enum CodingKeys: String, CodingKey {
case cssRGBC = "CSS_RGB__c"
}
}
【问题讨论】:
标签: json swift parsing swift4 codable