我正在尝试使用 Codable 自动将传入的UITextView
解析到我的模型中。一切正常,但后来我了解了JSON
,并想使用它。它很好用,可以减少我的代码,因为我不必为模型编写_keyDecodingStrategy_
枚举。
但是现在的问题是服务器发送了一个新变量。变量为 CodingKeys
。
我认为它将转换为 post_url_110x110
,但事实并非如此。请帮助我进行postUrl110x110
转换,或者建议在这种情况下是否应该避免自动转换。
答案 0 :(得分:2)
如果使用大写X将数据模型属性从postUrl110x110
重命名为postUrl110X110
,它将为您工作。我知道这不是理想的解决方案,但值得注意。请查看以下示例:
struct DataItem: Codable {
var itemId: String
var postUrl110X110: String
}
let json = """
{
"item_id": "abcd",
"post_url_110x110": "https://example.org/image.png"
}
""".data(using: .utf8)!
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromSnakeCase
print(try! decoder.decode(DataItem.self, from: json))
答案 1 :(得分:0)