RestKit帖子与NSArray的NSDictionary编号

时间:2013-12-03 20:53:46

标签: post nsarray nsdictionary restkit restkit-0.20

我正在使用RestKit将对象发布到服务器。 该对象包含一个NSArray,在将其添加到参数列表(NSDictionary)之前我将其转换为NSDictionaries

NSDictionary queryParams看起来像这样(使用NSLog打印出来,为清晰起见删除了一些字段)

requestParams = {

"app_version" = "v1.0(1.006)";
"extended_information" =     {
    "travel_locations" =         (
                    {
            "Aircard_or_Tablet" = 0;
            Country = "United States";
            "End_Date" = "04/12/2013";
            "Start_Date" = "03/12/2013";
        }
    );
    "using_voice" = 0;
};

}

然后我发送它:

[objectManager postObject:nil path:server_path parameters:requestParams success:… failure:…]

问题在于,当RestKit创建查询字符串时,它似乎会增加字典中每个键的计数器,而不是数组中的每个项目。以下是服务器收到的内容。为清晰起见,我在每个参数后添加了一个换行符:

app_version=v1.0(1.006)
&extended_information[travel_locations][0][Aircard_or_Tablet]=0
&extended_information[travel_locations][1][Country]=United States
&extended_information[travel_locations][2][End_Date]=04/12/2013
&extended_information[travel_locations][3][Start_Date]=03/12/2013
&extended_information[using_data]=0

服务器期望(我希望)对于那个对象中的所有键,travel_locations保持为[0],如下所示:

app_version=v1.0(1.006)
&extended_information[travel_locations][0][Aircard_or_Tablet]=0
&extended_information[travel_locations][0][Country]=United States
&extended_information[travel_locations][0][End_Date]=04/12/2013
&extended_information[travel_locations][0][Start_Date]=03/12/2013
&extended_information[using_data]=0

当然,如果第二个travel_location存在[1],第三个将[2],等等。

这是RestKit中的错误吗?有没有更好的方法可以发送此请求以使其正常工作?我没有更改服务器的选项。

要问的是: 如何让RestKit正确转换NSDictionary的参数,以便它不会增加数组对象中每个键的数组索引标识符?

谢谢, -Nico

0 个答案:

没有答案