我正在从服务器下载数据(文本)。
我都尝试过:NSISOLatin1StringEncoding
和NSASCIIStringEncoding
但是我一直看到类似的东西:{"estado":"M\u00e9xico"}
注意,它应该读取México
而不是M\u00e9xico
(在e上带有重音符号)。
在网上看,我发现\u00e9
实际上是é
link.
但是NSString无法解释这一点,而是在我的UILabels上打印出奇怪的东西:
非常感谢您的帮助。
阿尔索(Alsso),如果您感到不满意,可以从此处下载数据:http://www.miorden.com/demo/iphone/estadoJSON.php
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.miorden.com/demo/iphone/estadoJSON.php"]];
NSString *string = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"Downloaded: %@", string);
string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.miorden.com/demo/iphone/estadoJSON.php"] encoding:NSISOLatin1StringEncoding error:nil];
NSLog(@"Downloaded: %@", string);
我已经尝试了好几天,它正在杀死我!
非常感谢!
最佳答案
数据为JSON格式,因此您也需要对其进行JSON解码。
例如,使用以下命令:https://github.com/TouchCode/TouchJSON
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.miorden.com/demo/iphone/estadoJSON.php"]];
NSError *error;
NSArray *array = [[CJSONDeserializer deserializer] deserializeAsArray:data error:&error];
NSLog(@"Test: %@", [[array objectAtIndex:11] valueForKey:@"estado"]);
输出
2011-08-11 09:35:45.742 enctest[63236:407] Test: México