场景:我有一个无模式数据库 API,它根据传递给它的 json 推断类型。但是,一旦数据库推断出模式,添加到同一个表的所有后续条目都必须遵循现有模式。我正在将 json 格式的数据从我的 Swift 应用推送到 REST 端点。
我正在使用 ObjectMapper在 Swift 应用程序中定义数据的模式/序列化,例如:
class ExampleDatum: Mappable {
value: Float?
init() {
}
required init?(map: Map) {
}
func mapping(map: Map) {
value <- map["value"]
}
}
问题来了,如果 value 是一个整数,json 的格式是没有小数点的,导致这个字段作为整数/ float 的解释不一致:
let datum = ExampleDatum()
datum.value = 5.0
print(datum.toJSONString())
>> {"value": 5}
将此类型信息嵌入 JSON 的最佳做法是什么,例如强制小数点总是被包括在内?理想情况下类似于 {"value": 5.0}
最佳答案
尝试
let value = 5.0
let float_string = String(format: "%#f", value)
关于json - 在不删除小数的情况下在 Swift 中将 float 序列化为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43765065/