gpt4 book ai didi

iOS - 如何使用变音符号正确读取 JSON 文件

转载 作者:行者123 更新时间:2023-11-28 21:45:10 24 4
gpt4 key购买 nike

我在将 JSON 文件转换为 NSDictionary 而不丢失变音符号时遇到困难。

{
"België": "5",
"Haïti": "45"
}

这是我在 Xcode 中的支持文件中 .json 文件内容的简短版本。我需要将它们转换为 NSDictionary 而不会丢失那些变音符号。

NSString *file =[[NSBundle mainBundle] pathForResource:@"countries_and_rates" ofType:@"json"];
NSString *cr = [NSString stringWithContentsOfFile:file encoding:NSUTF8StringEncoding error:NULL];

之后,我给这个方法cr:

+ (NSDictionary*)jsonFromData:(NSData*)data {
if([self isEmpty:data] || ![data isKindOfClass:[NSData class]])
return nil;

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if(!str)
return nil;

NSError* error;
id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];

if(error)
NSLog(@"************** Error: jsonFromData: %@/%@", error.localizedDescription, error);
if([json isKindOfClass:[NSDictionary class]])
return json;
else if([json isKindOfClass:[NSArray class]])
return [NSDictionary dictionaryWithObject:json forKey:@"results"];

return @{};
}

如果有人可以帮助我并告诉我我做错了什么。仅供引用:尝试了各种编码,例如 NSISO 和 NSUTF

最佳答案

不要乱搞编码,让框架为你解决:

    NSData *data = [NSData dataWithContentsOfFile:filepath];
NSError *error = nil;
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];

关于iOS - 如何使用变音符号正确读取 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com