我今天有一个相当简单的问题。我有一个应用程序需要以 2D GPS 坐标的形式将简单的 JSON 数组发送到远程服务器。该应用程序将使用 CoreLocation 框架来生成这些坐标。现在,我想对一些示例坐标进行硬编码以获得正确的 JSON。但是,我似乎无法在 ObjC 代码中正确形成 JSON。
这是代码:
NSMutableURLRequest *request =
[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http:myserver/handler/index"]];
[request setHTTPMethod:@"POST"];
NSString *jsonString = @"{"
@" \"geo\": {"
@" \"lat\": \"37.78\","
@" \"lon\": \"-122.40";
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
[request setHTTPBody:jsonData];
(void)[[NSURLConnection alloc] initWithRequest:request delegate:self];
这是服务器期望的(但没有收到):
{
"geo": {
"lat": "37.78",
"lon": "-122.40"
}
我确定这是一个简单的 JSON 格式问题,否则我会感到很困惑。
任何帮助总是值得赞赏!
你正在以艰难的方式做到这一点。创建一个NSDictionary
然后将其转换为所需的 JSON 数据:
NSDictionary *dictionary = @{ @"geo" : @{ @"lat" : @"37.78", @"lon" : @"-122.40" } };
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary options:0 error:&error];
if (jsonData) {
// process the data
} else {
NSLog(@"Unable to serialize the data %@: %@", dictionary, error);
}
根本不需要绳子。
编辑:如果您的真实数据是对象数组,则创建字典数组或您需要的任何结构。其余的都是一样的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)