現在我正在使用Restkit從iPhone設備向遠程服務器發出REST和RPC請求,這是一個非常棒的庫。使用Restkit發送整數爲json使用Restkit
現在我陷入了一個簡單的問題。我的服務器預計一些數據爲整數。這意味着一個看起來像這樣的json數組。
{'myInteger':1234}
請注意,my_integer_field項的值不在''之間。這意味着該值是一個數字而不是一個字符串。
當我製作映射和所有的東西時,我將my_integer_field設置爲對象定義中的一個NSNumber值。但是,當物體被解析成JSON之間出現「價值」,如:
{'myInteger':'1234'}
所以我得到一個錯誤,因爲來自服務器的響應,因爲這asuming「1234」代表一個字符串,而不是一個數字。有沒有辦法強制json解析不在'NSNumber字段中包含''?
UPDATE
下面是代碼:
//myclass.h
@interface myClass : NSObject {
NSNumber *myInteger;
}
@property (nonatomic, retain) NSNumber *myInteger;
//appDelegate.m here is where i define the mappings for everything.
//myClass MAPPING
RKObjectMapping* myClassMapping = [RKObjectMapping mappingForClass:[myClass class]];
[myClassMapping mapAttributes:@"myInteger", nil];
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:myClassMapping];
// myClass SERIALIZATION
RKObjectMapping* myClassSerializationMapping = [RKObjectMapping mappingForClass:[NSMutableDictionary class]];
[myClassSerializationMapping mapAttributes:@"myInteger", nil];
[[RKObjectManager sharedManager].mappingProvider setSerializationMapping:myClassSerializationMapping forClass:[myClass class]];
我失去了一些東西?
什麼(我說什麼)你試圖映射到JSON,轉換成字符串!在獲取它時,你必須進行明確的轉換管理! – Chintan 2012-02-08 11:25:10
所以......做我想做的事不是可行的嗎? – clopez 2012-02-08 17:07:24
其可能!但是當你使用json數據時,嘗試輸入cast然後使用它!明白了我的觀點? – Chintan 2012-02-08 17:11:04