Я использую C # web.api с ядром .net 2.1. У меня есть свойство Json в файле appsetting.json, и когда он десериализуется в c #, через AddOptions
, символ £ меняется на
Можно ли добавить параметр к AddJsonOptions
, чтобы этот символ не был изменен?
JSON
"SomeProperty": "фунт £",
C # Свойство
SomeProperty = "фунт "
Я решил это: открыв файл в блокноте и сохранив его в кодировке UTF-8. При сохранении файла в VS он сохранил кодировку UTF-8. Не уверен, что Visual Studio делает при создании файла appsetting, но в прошлом это было проблемой. github.com/aspnet/Configuration/issues/241 Для записи я использую VS2017 15.8.4 на windows 10
AppSettings
{
"SftpConfigList": {
"SftpConfigs": [
{
"Host": "somehost1",
"Username": "foo",
"Password": "okokokok"
},
{
"Host": "somehost2",
"Username": "bar",
"Password": "pass£££word"
}
]
}
}
namespace WebApplication1
{
public class SftpConfigListDto
{
public SftpConfigDto[] SftpConfigs { get; set; }
}
public class SftpConfigDto
{
public string Host { get; set; }
public string Username { get; set; }
public string Password { get; set; }
}
}
ЗАПУСК
public void ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<SftpConfigListDto>(Configuration.GetSection("SftpConfigList"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}