1

有没有办法配置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}.

4

1 回答 1

1

不,没有(数字)方式。

JSON 只是一种独立于平台的轻量级数据交换格式,只有一种数字格式。1可以视为IntDouble / Float

在接收端,它可以在反序列化后格式化为任意格式。

于 2018-03-28T15:31:43.080 回答