【发布时间】:2016-03-08 10:46:00
【问题描述】:
我正在通过 JSON 从网站加载数据库。当我下载数据库时,我使用 UTF8 使所有字符正确显示,当我对它们进行 NSLOG 处理时,它们都按原样显示。但是当我使用 JSON 分析数据然后尝试过滤掉一些单词时,带有特殊字符的单词变成了这样:“H\U00f6ghastighetst\U00e5g”,它应该说:“Höghastighetståg”。
我试图找到一种方法让代码在过滤后将文本转换回 UTF8,但不知何故我无法实现。对一些答案真的很有帮助。
NSError *error;
NSString *url1 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.pumba.se/example.json"] encoding:NSUTF8StringEncoding error:&error];
NSLog(@"Before converting to NSData: %@", url1);
NSData *allCoursesData = [url1 dataUsingEncoding:NSUTF8StringEncoding];
NSMutableDictionary *JSONdictionary = [NSJSONSerialization
JSONObjectWithData:allCoursesData
options:kNilOptions
error:&error];
if( error )
{
NSLog(@"%@", [error localizedDescription]);
}
else {
NSMutableArray *allNames = [NSMutableArray array];
NSArray* entries = [JSONdictionary valueForKeyPath:@"hits.hits"];
for (NSDictionary *hit in entries) {
NSArray *versions = hit[@"versions"];
for (NSDictionary *version in versions) {
NSDictionary *properties = version[@"properties"];
NSString *status = [properties[@"Status"] firstObject];
NSString *name = [properties[@"Name"] firstObject];
if ([status isEqualToString:@"usable"]) {
[allNames addObject:name];
}
}
}
NSLog(@"All names: %@", allNames);
}}
【问题讨论】:
标签: ios json xcode character-encoding special-characters