json 子模型显示为null

jtjikinw  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(100)

我有一个如下的基类:

class BaseModel 
{
    Model1 model1 { get; set; }

    List<string> a1 { get; set; }
    string a2 { get; set; }
}

字符串
还有一个型号Model1

class Model1  
{
    public BaseModel Parent { get; set; }

     List<string> b1 => Parent?.a1;
     string b2 => Parent?.a2;

     int b3 { get; set; }
}

EDIT:这是需要填充值的JSON文件:

{
    "a2": "abc.abc",
    "id": "123",   
    "a1": [
         "/str1",
         "/str2",
         "/str3"
    ]     
}


下面是访问JSON的代码:

dynamic validData = DataProvider.GetTestData();
BaseModel m = validData?.ToObject<BaseModel>();

DataProvider:

public static JObject GetTestData()
{
   const string path = @"path/file.json";
   return JsonDataReader.Get(path);
}


我想在Model1中获取BaseModel的值,但它们被填充为null。我想我在设置值时遗漏了一些东西。
我能得到帮助我错过了什么吗?

2ic8powd

2ic8powd1#

这可能是因为JSON中的“a1”没有直接Map到你的类中的List a1。你可能需要修改你的JSON结构来匹配你的类结构,或者你可以创建一个自定义的JSON转换器来处理这个Map。
另外,当您从已解析的JSON创建Model1的示例时,请确保Model1中的Parent属性已正确设置。如果未设置,则可能是您获得null值的原因。

相关问题