无法通过 ConfigurationSettings 设置嵌套的 json 值

Unable to set nested json value via ConfigurationSettings

我在包裹 XYZ 中有一个 class 说:

public class Temp
{
    string a;
    string b;
    string c; 
 }

同一包裹中的另一个 class:

public class Other
{
    public int id {get; set;}
    public Temp temp {get;set;}
}

现在 Tempid 变量的值 class 其他来自另一个项目的 appsettings.json 看起来像:

...some settings
"Other":{
  "id":2
 "Temp":{
  "a":"Hey",
  "b":"Hello",
  "c":"Bye"
 }
},
...rest of the settings

现在,在包扩展 class 中,我尝试将值设置为:

id = configuration.GetValue<int>("Other:id"); // 2 here
Temp = configuration.GetValue<Temp>("Other:Temp");  //null here

不确定为什么没有设置此值。

我试过:Temp = configuration.GetSection("Other:Temp") 但无法将其转换为 Temp 类型的实例。

有什么办法可以实现吗? 提前致谢。

通过添加修复此问题:

Temp = new Temp
{
   a = configuration.Get<string>("Other:Temp:a"),
   b = configuration.Get<string>("Other:Temp:b"),
   c = configuration.Get<string>("Other:Temp:c")
}