放入数组的字典被粉碎

时间:2015-03-26 20:09:11

标签: ios objective-c

我尝试将数据发送到服务器。服务器等待我的这个结构:

{
...
"card": [
           {
              "child": {...},
              "parent":{...}
           },
           {
              "child": {...},
              "parent":{...}
           }
        ], 
        [...],
        [...]
}

所以它应该是Dictionary({...})放入另一个Dictionary({"child":..., "parent":...}),放入一个数组("card": []),这个数组是一个单元格,最后的API JSON包含许多这样的细胞。

我通过类似的东西意识到这个结构:

NSDictionary *card = @{@"key1" : @"val1", @"key2" : @"val2", @"key3" : @"val3"};
NSDictionary *pair = @{@"parent" : card, @"child" : card};
NSArray *cards = [NSArray arrayWithObjects: pair, pair, nil];

在此之后,我将 cards Array与其他auth数据一起添加到Dictionary中并将其发送到服务器:

[self.userAuthData setObject: cards forKey:@"card"];

我在服务器日志中看到数据被粉碎:http://monosnap.com/image/UbLPA0AK0eotAvG12o1ML4702xy0aj.png

但是,如果我使用字典而不是数组,一切正常:http://monosnap.com/image/IzenpFc3Gik01UYhyRYtGFHmxBpCpC.png

将字典存储在数组中的想法有什么问题?为什么会被切碎?

1 个答案:

答案 0 :(得分:0)

好的,答案就在这里:AFNetworking posts JSON arrays as multiple single-entry dictionaries

我刚刚在ApiClient.m

中添加了一行
_sharedClient.requestSerializer = [AFJSONRequestSerializer serializer];