你如何处理从JSON可编码结构它可以是一个空字符串或一个int的领域?我尝试使用任何数据类型,但不符合可编码。我认为,如果它没有值,那么它返回一个空字符串,否则返回一个int。我正在使用Swift 4和XCode 9.在此先感谢如何设计一个可编码JSON字段,它可以是一个空字符串或int
2
A
回答
2
我真的会建议更改该Web服务以始终返回值(如果没有整数类型的值,不要返回任何该键)。
但如果你坚持这样的设计,你会写自己的init(from:)
其优雅的处理故障解析整数值。例如: -
struct Person: Codable {
let name: String
let age: Int?
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
name = try values.decode(String.self, forKey: .name)
do {
age = try values.decode(Int.self, forKey: .age)
} catch {
age = nil
}
}
}
我还建议不要使用0
为“未提供整数值”中的标记值。这是可选项。
+1
感谢您的帮助。我想我将不得不走很长一段路,因为我无法更改服务器。 –
+0
哈哈。是的,我们都在那里,背负着一些其他人管理的可疑界面。 – Rob
相关问题
- 1. 可可 - 解析一个JSON字符串
- 2. 是否可以用一个字符串和一个int引用一个变量?
- 3. 指定一个值可以是一个字符串或null与json架构
- 4. 解码JSON其中value可以是一个字符串或者不同的值
- 5. 我可以让一个JSON字符串化的对象有一个字段,其值是一个双重的Javascript?
- 6. Unmarshal JSON可能是一个字符串或对象
- 7. 如何抓住一个字符串,它是2个字符串
- 8. 如何让一个方法接受一个字符串或int?
- 9. 编码一个Ruby字符串JSON字符串
- 10. 可以描述一个字符串
- 11. JSON反序列化类缺少JSON键[字符串可以是单个字符串或列表字符串]
- 12. 在可可,如何检查一个文本字段是密码
- 13. 我可以传递一个字符串istream_iterator <int>
- 14. 你可以存储一个字符串在Java中的int?
- 15. JSON-如何从一个JSON字符串
- 16. @Produces @Consumes意义...... JSON或者它仅仅是一个字符串
- 17. 添加一个字符串和int一个字符串
- 18. 一个HTML页面内可以有多个字符编码?
- 19. ArrayIndexOutOfBounds当测试一个字符,如果它是一个int
- 20. JSON可以返回字符串或int的序列化API
- 21. UIAlertView可以通过代理传递一个字符串和一个int
- 22. 2套字符串,找到一个字符串,可以从构造或者设置字符串
- 23. 如何用一个字符串“填充”一个可变长度的字符串?
- 24. base64编码的字符串是否可以包含空格?
- 25. 在MongoDB中,我可以预测一个值是否有一个子字符串到一个新的字段?
- 26. 可靠地检查一个字符串是否以.net编码的.net
- 27. 如何创建一个可枚举/类字符串或int和序列化?
- 28. 如何编码查询字符串,以便它是JavaScript中的另一个查询字符串的值?
- 29. 编译Java代码可在一个字符串中的另一个Java代码
- 30. 可以一个magento adminhtml字段依赖多于一个字段或值?
这是什么领域的在你的雨燕类型? 'Int?' –
是的,我想为该字段使用int。如果它是一个空字符串,我想将其默认为0,如果可能或零。 –