我有一个如下的基类:
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。我想我在设置值时遗漏了一些东西。
我能得到帮助我错过了什么吗?
1条答案
按热度按时间2ic8powd1#
这可能是因为JSON中的“a1”没有直接Map到你的类中的List a1。你可能需要修改你的JSON结构来匹配你的类结构,或者你可以创建一个自定义的JSON转换器来处理这个Map。
另外,当您从已解析的JSON创建Model1的示例时,请确保Model1中的Parent属性已正确设置。如果未设置,则可能是您获得null值的原因。