【问题标题】:AFNetworking changing json number to incorrect stringAFNetworking 将 json 编号更改为不正确的字符串
【发布时间】:2020-01-09 23:09:53
【问题描述】:

我正在使用 AFHTTPSessionManager 拨打电话:

//HTTP GET
[self GET:path parameters:parameters success:^(NSURLSessionDataTask * task, id responseObject) {

    blockOnSuccess(self,responseObject);

} failure:^(NSURLSessionDataTask * task, NSError * error) {
    [self logFailure: error url: path];
    blockOnFailure(self,error);

}];

在 Charles Proxy 中查看的 json responseObject 有这个值:

"sellingPrice": 9.95

来自 AFHTTPSessionManager 的响应,打印到控制台,具有以下值:

sellingPrice = "9.949999999999999";

我无法理解为什么它会更改数字和值类型。有人遇到过这个问题并有答案吗?

【问题讨论】:

  • 更新:NSURLSession 也会发生这种情况...

标签: ios afnetworking


【解决方案1】:

打印函数正在将数字转换为字符串并丢失点精度。对不起AFNetworking!

(lldb) print responseObject[@"variants"][0][@"sellingPrice"]

(__NSCFNumber *) $0 = 0x00006000024c9c60 (double)9.95

(lldb) po responseObject[@"variants"][0][@"sellingPrice"]

9.949999999999999

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多