如何提取JSONstring数组?

使用http获取请求我没有得到这个jsonstring:

hello [ { "upid":"1", "uptitle":"test", "uptype":"test", "upsize":"1234", "upname":"test", "upuid":"1", "uplocation":"1", "uptimestamp":"2013-04-11 09:25:40" }, { "upid":"17", "uptitle":"test", "uptype":"video\/mov", "upsize":"2232", "upname":"testing", "upuid":"1", "uplocation":"", "uptimestamp":"2013-04-12 11:47:20" } ] 

我怎样才能得到它的格式输出:

 upid:1 uptitle:test uptype:test upsize:1234 upname:test upuid:1 uplocation:1 uptimestamp:2013-04-11 09:25:40 upid:17 uptitle:test uptype:video\/mov upsize:2232 upname:testing upuid:1 uplocation: uptimestamp:2013-04-12 11:47:20 

这是我的代码:

 NSMutableURLRequest *GETrequest = [[NSMutableURLRequest alloc] init]; [GETrequest setURL:[NSURL URLWithString:@"http:someip/upload/?id=1&command=alluseruploads&uid=1"]]; [GETrequest setHTTPMethod:@"GET"]; [GETrequest setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"Content-Type"]; // And to send and receive an answer, use a NSURLResponse: NSURLResponse *response; NSData *GETReply = [NSURLConnection sendSynchronousRequest:GETrequest returningResponse:&response error:nil]; NSString *theReply = [[NSString alloc] initWithBytes:[GETReply bytes] length:[GETReply length] encoding: NSASCIIStringEncoding]; NSLog(@"Reply: %@", theReply); // converting string to data NSData *jsonData = [theReply dataUsingEncoding:NSUTF8StringEncoding]; //NSLog(@"dic = %@", jsonData); NSError* error; id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error]; NSLog(@"%@", jsonObject); 

您不必导入任何框架,因为它使用核心iOS框架。

如果你有一个名为jsonStringNSString那么你可以做这样的事情…

 NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; // you can skip this step by just using the NSData that you get from the http request instead of converting it to a string. id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options: NSJSONReadingMutableContainers error:&localError]; NSLog(@"%@", jsonObject); 

这将注销到您的对象的控制台。 它将是一个NSArray或一个NSDictionary ,将包含实例…

 NSDate NSDictionary NSArray NSNumber NSString 

然后你可以迭代这个对象来获取数据。

好的,使用你的代码…

 NSURLResponse *response; NSData *getData = [NSURLConnection sendSynchronousRequest:getRequest returningResponse:&response error:nil]; NSError* error; id jsonObject = [NSJSONSerialization JSONObjectWithData:getData options: NSJSONReadingMutableContainers error:&error]; NSLog(@"%@", jsonObject); NSLog(@"%@", error); 

这应该创build你的对象。 您不需要转换为string,然后返回到数据。

使用SBJson库。 很简单