7

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

{__metadata:{\"Uri\":\"/NewLoc/\",
\"Type\":\"Location.NewLoc\"},  \"LocID\":\"100006\",
\"latitude\": \"40.123456\", \"longitude\": \"-65.876543\",
\"VisitDate\": \"\\/Date(1249909200000)\\/\", \"type\": \"S\"}

我正在使用从以下网址下载的 json-framework:http ://code.google.com/p/json-framework/

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

4

1 回答 1

19

您已经在使用 json 框架,所以这已经完成了一半的工作。

该框架可以采用任何键值编码兼容对象并将其转换为 JSON。它可以是 Core Data 对象、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.
于 2009-08-15T05:11:39.087 回答