如何在objective-c中创buildjson

NSData* jsonDataToSendTheServer; NSDictionary *setUser = [NSDictionary dictionaryWithObjectsAndKeys:[@"u" stringByAppendingString:my.id],@"id", @"GET_USER_INFO",@"command", @"",@"value", nil]; NSDictionary *setUser = [NSDictionary dictionaryWithObjectsAndKeys:[@"u" stringByAppendingString:my.id],@"id", @"GET_USER_INFO",@"command", @"",@"value", nil]; NSLog(@"%@", jsonDataToSendTheServer); 

这是我的代码。 当我运行上面的代码,我得到这个打印

 <7b226964 223a2275 35383738 37373334 31222c22 636f6d6d 616e6422 3a224745 545f5553 45525f49 4e464f22 2c227661 6c756522 3a22227d> 

我不知道我是否可以创build一个JSON。

我怎样才能解决这个问题?

你错过了这一行将其转换为JSON

 NSData* jsonData = [NSJSONSerialization dataWithJSONObject:setUser options:NSJSONWritingPrettyPrinted error:&error]; 

这里有一个关于NSJSONSerialization的教程可以帮助你: http ://www.raywenderlich.com/5492/working-with-json-in-ios-5

之后,您可以将NSData转换为NSString来打印:

将UTF-8编码的NSData转换为NSString

你可以尝试下面的来创buildJSON:

 NSArray *objects=[[NSArray alloc]initWithObjects:objects here,nil]; NSArray *keys=[[NSArray alloc]initWithObjects:corresponding keys of objects,nil]; NSDictionary *dict=[NSDictionary dictionaryWithObjects:objects forKeys:keys]; NSData *jsonData=[NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error]; 

这在我的情况下是完美的

尝试下面

 NSDictionary *o1 = [NSDictionary dictionaryWithObjectsAndKeys: @"ABCD", @"key1", @"EFG", @"key2", nil]; NSDictionary *o2 = [NSDictionary dictionaryWithObjectsAndKeys: @"XYZ", @"key1", @"POI", @"key2", nil]; NSArray *array = [NSArray arrayWithObjects:o1, o2, nil]; NSString *jsonString = [array JSONRepresentation]; 

//将jsonString发送到服务器在执行上面的代码之后,jsonString包含:

 [ { "key1": "ABCD", "key2": "EFG" }, { "key1": "XYZ", "key2": "POI" } ] 

尝试这个

 NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://api.iospond.com/api/index.php/GetData"]]; NSError *error=nil; id response=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error]; NSLog(@"Your JSON Object: %@ Or Error is: %@", response, error); 

NSMutableString * mutableString = nil; NSString * string = @“”;

 @try { if (mutableString == nil) { mutableString = [[NSMutableString alloc] init]; } [mutableString appendFormat:@"{"]; [mutableString appendFormat:@"\"string1\":%@"",",@""]; [mutableString appendFormat:@"\"string2\":\"%@\"",@""]; [mutableString appendFormat:@"}"]; jsonString = mutableString ; } @catch (NSException *exception) { } @finally { return string; }