在Objective-C中为POST HTTP请求生成JSON负载

在Objective-C中为POST HTTP请求生成JSON负载,objective-c,json,httpwebrequest,payload,Objective C,Json,Httpwebrequest,Payload,在Objective-C中,是否有人有任何示例代码来创建要作为HTTP POST请求发送的JSON负载?我希望生成的json负载示例如下所示: {__metadata:{\"Uri\":\"/NewLoc/\", \"Type\":\"Location.NewLoc\"}, \"LocID\":\"100006\", \"latitude\": \"40.123456\", \"longitude\": \"-65.876543\", \"VisitDate\": \"\\/Date(1249

在Objective-C中,是否有人有任何示例代码来创建要作为HTTP POST请求发送的JSON负载?我希望生成的json负载示例如下所示:

{__metadata:{\"Uri\":\"/NewLoc/\",
\"Type\":\"Location.NewLoc\"},  \"LocID\":\"100006\",
\"latitude\": \"40.123456\", \"longitude\": \"-65.876543\",
\"VisitDate\": \"\\/Date(1249909200000)\\/\", \"type\": \"S\"}
我使用的json框架下载自:


任何示例代码都将不胜感激。

您已经在使用json框架,因此这是所做工作的一半

这个框架可以接受任何键值编码兼容对象并将其转换为JSON。它可以是核心数据对象、NSDictionary对象和任何任意对象,只要它支持KVC

此外,json框架还添加了一个类别,允许您使用
JSONRepresentation
消息从这些对象中获取json字符串

因此,假设您想使用NSDictionary,您可以写:

NSMutableDictionary* jsonObject = [NSMutableDictionary dictionary];
NSMutableDictionary* metadata = [NSMutableDictionary dictionary];
[metadata setObject:@"NewLoc" forKey:@"Uri"];
[metadata setObject:@"Location.NewLoc" forKey:@"Type"];
[jsonObject setObject:metadata forKey:@"__metadata"];
[jsonObject setObject:@"100006" forKey:@"latitude"];
// ... complete the other values
// 
NSString* jsonString = jsonObject.JSONRepresentation;
// jsonString now contains your example strings.

阿维德,太棒了。有时,我们只需要简短的代码示例就可以了解这一点。它值得2小时的调试。谢谢@哈穆西:谢谢,我真希望我能得到那个答案;)哦,是的,4月10日,在发表评论之后:)