【发布时间】:2013-04-07 05:00:15
【问题描述】:
服务器需要一个名为 json 的变量,其值为 json 对象。
我可以将NSDictionary 转换为具有NSData 形式的JSON 对象(对我来说是一个黑盒子)。
我的问题是,我如何把那个黑盒子的 NSData 赋值给一个变量 json,然后再发布到服务器上?
作为一个附带问题,服务器要求这种格式是我还是奇怪?
谢谢
【问题讨论】:
标签: ios objective-c json cocoa-touch
服务器需要一个名为 json 的变量,其值为 json 对象。
我可以将NSDictionary 转换为具有NSData 形式的JSON 对象(对我来说是一个黑盒子)。
我的问题是,我如何把那个黑盒子的 NSData 赋值给一个变量 json,然后再发布到服务器上?
作为一个附带问题,服务器要求这种格式是我还是奇怪?
谢谢
【问题讨论】:
标签: ios objective-c json cocoa-touch
不,不只是你。这有点奇怪,但好消息是可以做到!
NSError *jsonError = nil;
NSData *jsonObject = [NSJSONSerialization dataWithJSONObject:jsonDict options:0 error:&jsonError];
if (!jsonError) {
NSMutableData *postBody = [[NSMutableData alloc] initWithData:[@"json=" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:jsonObject];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:theURL];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postBody];
}
【讨论】: