【问题标题】:Sending an Integer as json using Restkit使用 Restkit 将整数作为 json 发送
【发布时间】:2012-02-28 12:04:28
【问题描述】:

现在我正在使用 Restkit 从 iPhone 设备向远程服务器发出 REST 和 RPC 请求,这是一个非常棒的库。

现在我遇到了一个简单的问题。我的服务器需要一些数据为整数。这意味着一个看起来像这样的 json 数组。

{'myInteger':1234}

请注意 my_integer_field 键的值不在 '' 之间。这意味着该值是一个数字而不是一个字符串。

当我制作映射和所有东西时,我将 my_integer_field 设置为对象定义中的 NSNumber 值。但是当对象被解析为 Json 时,值出现在 '' like:

{'myInteger':'1234'}

所以我从服务器收到一个错误作为响应,因为假设“1234”代表一个字符串而不是一个数字。有没有办法强制 json 解析在 NSNumber 字段中不包含 ''?

更新

代码如下:

//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 的任何内容(我说过什么)都会转换为字符串!您必须在获取它时使用显式转换进行管理!
  • 所以...我想做的事不可行?
  • 有可能!!但是当你使用 json 数据时,尝试输入 cast 然后使用它!明白我的意思了吗?
  • 是的,但那是在服务器端......理想的情况是客户端发送所需的 json 而不是服务器解析它。
  • 您的意思是您的 JSON 是从客户端发送的,对吗?嘿嘿让我发烧!你实际上得到了什么例外?可以吗?

标签: ios json parsing rest restkit


【解决方案1】:

我不确定您为什么会出现这种行为,但您是否尝试过仅使用:

RKObjectMapping* myClassSerializationMapping = [myClassMapping inverseMapping]; [[RKObjectManager sharedManager].mappingProvider setSerializationMapping:myClassSerializationMapping forClass:[myClass class]];

虽然我相信如果没有指定 serializationMapping,RestKit 默认使用 inverseMapping,所以你也许可以完全省略那部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-25
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    相关资源
    最近更新 更多