JSONEncoder(整数)转换为JSON时,是否可以配置Double以添加尾随小数点和零?

下面的代码说明了该问题。

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只是与平台无关的轻型数据交换格式,并且只有一个数字格式。 1可以视为IntDouble / Float

在接收方,可以将其反序列化后格式化为任意格式。

关于ios - JSONEncoder去除尾随零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49537935/

10-10 20:01