【问题标题】:Construct custom json using Restkits RKObjectMapping使用 Restkits RKObjectMapping 构造自定义 json
【发布时间】:2012-07-12 15:42:02
【问题描述】:

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

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

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

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

  • 版本
  • 标识符
  • 当前值

我应该如何设置 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];

【问题讨论】:

    标签: objective-c ios json restkit


    【解决方案1】:

    您需要为 Datastream 配置序列化映射。试试这样的:

    [[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];
    }];
    

    【讨论】:

    • 感谢您的回答!在我的代码中,我想要创建一 (1) 个 Datastream 对象,但 json API 接受一组数据流。问题是:我应该用什么替换“等”?在您的代码中构建我发布的确切 json 结构?如果不创建包含数据流数组的包装类,这是否可能?
    • 查看我对this问题的回答
    猜你喜欢
    • 2023-03-11
    • 2014-08-09
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    相关资源
    最近更新 更多