使用Restkit RKObjectMapping构建自定义json



我正在尝试使用Restkit通过我的ios应用程序的RESTful API创建一个所谓的数据流。为此,API需要以下json POST:

{"version":"1.0.0",
  "datastreams" : [
    {
      "current_value" : "100",
      "id" : "1"
    }
  ]
}

正如您所看到的,API接受一个数据流数组,但我想做的是从单个数据流对象生成这个json代码。

我想要创建的数据流在我的应用程序中表示为具有以下属性的对象:

  • 版本
  • 标识符
  • currentValue

我应该如何设置RKObjectMapping对象,以便下面的代码构建并将上面的json发送到我的API?(阿苏明路线和所有其他最初的东西都已经设置好了)

Datastream *datastream = [[ZCCDatastream alloc] init];
datastream.version = @"1.0.0";
datastream.currentValue = @"100";
datastream.identifier = @"1";
[[RKObjectManager sharedManager] postObject:datastream delegate:self];

您需要为数据流配置序列化映射。试试这样的东西:

[[RKObjectManager sharedManager] postObject: datastream usingBlock: ^(RKObjectLoader *loader) {
    RKObjectMapping* mapping = [RKObjectMapping mappingForClass: [Datastream class]];
    [mapping mapAttributes: @"version", nil];
    //etc.
    loader.delegate = self;
    loader.serializationMapping = mapping inverseMapping];
}];

最新更新