我想使用JSONSerialization.data函数将包含双字段的json字符串转换为JSON对象。我打印结果json对象,它将双字段显示为字符串。以下是示例代码:
let test = "{\"statusCode\":2.334}"
do {
let responseJSON = try JSONSerialization.jsonObject(with: test.data(using: String.Encoding.utf16)!, options: [])
print(responseJSON)
} catch {
print(error)
}
responseJSON如下:
{
statusCode = "2.334";
}
我有两个问题:
通常,所有JSON序列化引擎都会转换为double value到string或者只发生在Swift JSON序列化中?
无论如何要强制JSONSerialization输出double,而不是字符串?
答案 0 :(得分:1)
这纯粹是关于如何打印出值的工件 - 你获得的价值实际上是Double
。您可以通过以下方式自行确认:
import Foundation
let test = "{\"statusCode\":2.334}"
do {
let responseJSON = try JSONSerialization.jsonObject(with: test.data(using: String.Encoding.utf16)!, options: []) as! [String: Any]
print(responseJSON["statusCode"] is Double) // => true
} catch {
print(error)
}