我有JSON数据提供给我的应用程序但不幸的是它不是很好。有时候,当我期待数字时,我会得到数字的字符串表示。
由于某种原因,某些值可能具有空格前缀。
处理此问题的最佳方法是什么?目前我被迫通过'isKindOfClass'检查类型,但最近主要在python应用程序上工作,这看起来很尴尬。
有人可以推荐更好的方法吗?我完全清楚@ try,@ catch等在这种情况下没用。
感谢您的帮助,我知道这个问题被标记为主观但我会感激一些意见!
Ĵ
答案 0 :(得分:1)
首先:尝试真的很难获得格式正确的数据。有太多的极端情况,对于任何重要的json请求来说,这个过程在计算上都很慢 - 更不用说浪费的网络带宽,解析等等。这是一个维护的噩梦。
第二:NSString和NSNumber共享一些便捷方法intValue
,doubleValue
。这些将有助于你的一些情况。
第三:如果你有一些奇怪的东西很多,最好是创建自己的类别方法。例如:
@interface NSString (MONEvilJSONSource)
- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;
- (double)ejs_doubleValueForPropertyNamed_Millimeters;
@end
@interface NSNumber (MONEvilJSONSource)
- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;
@end
希望有所帮助