【问题标题】:ios double quotes on dictionary when decimal point added添加小数点时字典上的ios双引号
【发布时间】:2011-10-10 06:35:45
【问题描述】:

我正在与 JSON 交互,对于“获取”它可以正常工作,

但是对于“post”,我有一个错误,因为字典对象用双引号“”括起来

对于网络服务,我收到双引号错误, 问题是,如果我用点来表示小数点,那么就会出现双引号,

NSMutableDictionary *dicto = [[NSMutableDictionary alloc]init];

[dicto setObject:@"-33.82007932" forKey:@"Latitude"];

[dicto setObject:@"151.1850004" forKey:@"Longitude"];
[dicto setObject:@"10728" forKey:@"TransmissionAreaId"];
[dicto setObject:@"[11278,10747,10728,11503]" forKey:@"OtherTransmissionAreaIds"];

这是日志

2011-10-10 17:28:47.265 MySwitch[14632:707] 字典 { 纬度 = "-33.820080"; 经度=“151.1850004”; OtherTransmissionAreaIds = "[11278,10747,10728,11503]"; 传输区域 ID = 10728; }

所以TransmissionAreaId = 10728

看起来不错,但如果我测试并使用小数点,即:TransmissionAreaId = 10728.01

然后我得到双引号,

那么我怎样才能去掉双引号呢??

非常感谢!

【问题讨论】:

    标签: iphone ios json dictionary


    【解决方案1】:

    无论您在 NSLog 中显示什么值,它都会将值显示为字符串。 NSLog 的一个性质是,如果它们包含除字母数字值以外的特殊字符,它会在值周围添加双引号 (")。

    NSLog 在显示诸如数组和字典之类的对象时会这样做。因此,当您直接在 NSLog 中打印一个字符串或浮点值时,您不会看到这种行为。

    而且,除了停止担心之外,你与此无关!

    【讨论】:

      【解决方案2】:

      尝试使用NSNumber 保存密钥的值。有点像-

      [dicto setObject:[NSNumber numberWithDouble:10723.01] forKey:@"TransmissionAreaId"];
      

      【讨论】:

      • 嗨,谢谢,我试过这种方式,但在 nsLog 上它也出现双引号,可能是什么?,谢谢!
      猜你喜欢
      • 1970-01-01
      • 2017-06-26
      • 2013-02-01
      • 1970-01-01
      • 2020-02-07
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多