当我尝试使用它转换NSMutableDictionary
为 JSON 时,NSJSONSerialization
它会返回不同的结果:
代码:
-(NSString*)JSONRepresentation{
return [self JSONRepresentation:NO];
}
-(NSString*)JSONRepresentation:(BOOL)whiteSpaces{
NSError* error = nil;
NSData * result = nil;
if(whiteSpaces)
result = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error];
else
result = [NSJSONSerialization dataWithJSONObject:self options:kNilOptions error:&error];
if (error != nil){
NSLog(@"Error:%@",error);
return nil;
}
return [NSString stringWithUTF8String:[result bytes]];
}
这就是我使用它的方式:
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"xxx" forKey:@"experiment"];
NSLog(@"(%@)", [dict JSONRepresentation]);
连续尝试的结果:
2013-08-01 12:31:45.066 Hercules Demo[8763:c07] ((null))
2013-08-01 12:31:49.988 Hercules Demo[8763:c07] ((null))
2013-08-01 12:31:52.838 Hercules Demo[8763:c07] ({"experiment":"xxx"})
2013-08-01 12:31:59.432 Hercules Demo[8763:c07] ({"experiment":"xxx"})
2013-08-01 12:32:03.160 Hercules Demo[8763:c07] ((null))
2013-08-01 12:32:06.232 Hercules Demo[8763:c07] ({"experiment":"xxx"})
2013-08-01 12:32:08.395 Hercules Demo[8763:c07] ((null))