问题
NSData* jsonDataToSendTheServer;
NSDictionary *setUser = [NSDictionary
dictionaryWithObjectsAndKeys:[@"u" stringByAppendingString:my.id],@"id",
@"GET_USER_INFO",@"command",
@"",@"value",
nil];
NSLog(@"%@", jsonDataToSendTheServer);
Here is my code. When I run above code I get this print
<7b226964 223a2275 35383738 37373334 31222c22 636f6d6d 616e6422 3a224745 545f5553 45525f49 4e464f22 2c227661 6c756522 3a22227d>
I don't have any idea whether I can created a json or not.
How can I fix this?
回答1:
You're missing this line to convert it to json
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:setUser
options:NSJSONWritingPrettyPrinted error:&error];
Here's a tutorial on NSJSONSerialization that may help you: http://www.raywenderlich.com/5492/working-with-json-in-ios-5
After that, you can convert the NSData to an NSString to print:
Convert UTF-8 encoded NSData to NSString
回答2:
You can try following to create JSON:
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];
this worked perfectly in my case
回答3:
Try below
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];
// send jsonString to the server After executing the code above, jsonString contains:
[
{
"key1": "ABCD",
"key2": "EFG"
},
{
"key1": "XYZ",
"key2": "POI"
}
]
回答4:
Try this
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);
回答5:
NSDictionary *jsonObject = @{
@"a":@[
@{
@"title1”:@“AA”,
@"title2” : @“BB”,
@"subcats" : @[
@{
@"title1” : @“CC”,
@"title2” :@“DD”
}
]
}
]
};
回答6:
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;
}
来源:https://stackoverflow.com/questions/11932864/how-to-create-json-in-objective-c