0
Im通过JSON从网站加载数据库。当我下载数据库时,我使用UTF8使所有字符正确显示,当我使用NSLOG时,它们全部显示为它应该显示的内容。但是,当我使用JSON分析数据并尝试过滤出几个单词时,带有特殊字符的单词变成这样:“H \ U00f6ghastighetst \ U00e5g”它应该在哪里说:“Höghastighetståg”。Xcode - JSON中的特殊字符
我试图找到一种方法来使代码在过滤后将文本转换回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);
}}
谢谢Jose920405,但我不认为我有能力知道如何在我目前的代码中执行该操作,恐怕:/ – Dlindau
而不是“H \ U00f6ghastighetst \ U00e5g”我现在收到“H \\ 366ghastighetst \\ 345g”。 – Dlindau