使用NSURLSessionDataTask从iOS在JSON中正确格式化数组

时间:2014-04-30 14:45:01

标签: objective-c json nsarray nsjsonserialization

我正在尝试对RESTful Web API执行POST,并且在httpBody上遇到格式问题。 NSJSONSerialization正在创建这个:

{
  "UserId" : "ThisIsMe",
  "Locations" : "[\n  \"1\"\n]",
  "TypeOfValue" : "3",
  "SomeTypeID" : 22,
  "Title" : "asdfadsf",
  "Description" : "Description"
}

但我需要的是:

{
  "UserId" : "ThisIsMe",
  "Locations" : ["1"],
  "TypeOfValue" : "3",
  "SomeTypeID" : 22,
  "Title" : "asdfadsf",
  "Description" : "Description"
}

为了将其“按原样”放在一起,我必须在其上NSArray运行NSJSONSerialization,然后将其附加到NSDictionary然后再调用NSJSONSerialization那。因此,双序列化显然存在问题,但如果我使用NSDictionary传入数组,则会失败...请帮忙。

1 个答案:

答案 0 :(得分:2)

您应该有一个NSDictionary,其键都是字符串,其值为NSStringNSNumberNSArray(包含NSString)个实例。然后,使用NSJSONSerialisation将该字典表示转换为JSON数据表示,您将获得所需的内容。