作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 Codable 自动将传入的 JSON
解析到我的模型中。它工作正常,但后来我了解了 _keyDecodingStrategy_
,并想使用它。它运行良好并且能够减少我的代码,因为我不必为我的模型编写 CodingKeys
枚举。
但现在的问题是从服务器发送的新变量。变量是 post_url_110x110
。
我以为它会转换为 postUrl110x110
,但事实并非如此。请帮助我进行 camelCase
转换,或者建议我在这种情况下是否应该避免自动转换。
最佳答案
如果您将数据模型属性从 postUrl110x110
重命名为 postUrl110X110
并使用大写字母 X,它将对您有用。我知道这不是理想的解决方案,但值得注意。检查下面的示例:
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))
关于ios - 使用 keyDecodingStrategy 从蛇案例转换为驼案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54020237/
我是一名优秀的程序员,十分优秀!