对于反序列化,我通常使用具有与JSon和List<StudentDTO> filteredstudentsWithUnits = students
.Where(s => s.age != null && s.status != "DEL")
.Where(s => !_context.Items
.Any(x => s.SubjectTypes
.SelectMany(t => t.SubjectItem.Select(si => si.value1))
.Contains(x.Name)))
.ToList();
中相同的属性名称的对象。
但现在我遇到了这个:
JsonConvert.DeserializeObject<Des>(jsonstring)
我怎样才能告诉JSon.Net拉出这个有趣的东西?将子类的一部分分成如下类:
{
"id": 0815,
"name": "whatever"
"addedInfo": {
"thisisinteresting": 4711,
"id_str": "2336"
}
}
答案 0 :(得分:2)
简单的方法是将您的类实际建模为JSON结构:
public class AddedInfo
{
public int thisisinteresting { get; set; }
public string id_str { get; set; }
}
public class RootObject
{
public int id { get; set; }
public string name { get; set; }
public AddedInfo addedInfo { get; set; }
}
然后向RootObject添加一个属性以发出属性:
public class RootObject
{
public int id { get; set; }
public string name { get; set; }
public AddedInfo addedInfo { get; set; }
[JsonIgnore]
public int thisisinteresting { get { return addedInfo.thisisinteresting; } }
}
还有其他选择,例如创建自定义序列化程序或使用JObject并自行反序列化结构,但我不会进入。如果你还需要解析JSON,那么完全反序列化的价格很小。