Использование [JsonExtensionData] со стандартной конфигурацией json в ASP.NET Core - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь сопоставить дополнительные поля раздела Json со свойством JsonExtensionData класса модели, но оно всегда null.

var jsonConfiguration = new ConfigurationBuilder()
            .SetBasePath(_env.ContentRootPath)
            .AddJsonFile(_configFilename)
            .Build();
SampleClass sample = jsonConfiguration.Get<SampleClass>();
if (sample.AdditionalData == null) {
 //this is `true`, but why?

Класс

public class SampleClass
{
    [JsonExtensionData]
    public IDictionary<string, JToken> AdditionalData { get; set; }
}

Пример конфигурации

{
"a" : "val1",
"b" : "val2",
"c" : {
  "r" : "12d",
  "x" : 2
}

Как настроить сопоставление значений конфигурации с JToken s?

1 Ответ

0 голосов
/ 30 января 2019

Для Configuration он не предоставил JsonExtensionData.

Вы могли бы реализовать свой собственный разговор.

string json = File.ReadAllText(@"appsettings.json json path");
JObject jObject = JObject.Parse(json);
var r = jObject.GetValue("SampleClass");
var result = JsonConvert.DeserializeObject<SampleClass>(r.ToString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...