JSONEncoder 去除尾随零
JSONEncoder strips trailing zeros
有没有办法配置 JSONEncoder
在将 Double
(整数)转换为 JSON 时添加尾随小数点和零?
下面的代码说明了这个问题。
import Foundation
struct NumberTest: Codable {
let number: Double
enum CodingKeys: String, CodingKey {
case number
}
}
let doubleNumber = NumberTest(number: 1.0)
let data = try? JSONEncoder().encode(doubleNumber)
print(String(data: data!, encoding: .utf8)!) // {"number":1}
期望的结果是 {"number":1.0}
。
不,没有(数字)方式。
JSON 只是一种独立于平台的 轻量级 data-interchange 格式 并且只有一种数字格式。 1
可以被视为 Int
或 Double / Float
。
在接收端可以在反序列化后格式化为任意格式。
有没有办法配置 JSONEncoder
在将 Double
(整数)转换为 JSON 时添加尾随小数点和零?
下面的代码说明了这个问题。
import Foundation
struct NumberTest: Codable {
let number: Double
enum CodingKeys: String, CodingKey {
case number
}
}
let doubleNumber = NumberTest(number: 1.0)
let data = try? JSONEncoder().encode(doubleNumber)
print(String(data: data!, encoding: .utf8)!) // {"number":1}
期望的结果是 {"number":1.0}
。
不,没有(数字)方式。
JSON 只是一种独立于平台的 轻量级 data-interchange 格式 并且只有一种数字格式。 1
可以被视为 Int
或 Double / Float
。
在接收端可以在反序列化后格式化为任意格式。