先感谢您。我真的坚持这一点,但练习。预先感谢您的任何帮助。
我能够在我的代码中成功构建这个 Json 对象,但是使用我用来构建它的同一个字典对其进行反序列化,它不起作用,因为定义的字符串类型是匿名的,我无法专门访问子项(包含、等于, 以。。开始)。
我的 json 已成功构建,但在反序列化时再次不起作用。
{
"shortDescription": {
"contains": false,
"equals": false,
"startsWith": true,
"value": "some text"
},
"description": {
"contains": true,
"equals": false,
"startsWith": false,
"value": "some more text"
},
"createdAfter": {
"contains": false,
"equals": false,
"startsWith": false,
"value": "2021-08-17"
},
"notes": "Something bad happened",
"group": "some group",
"assigned": "to me"
}
根据用户选择,这些对象(如 shortDescription)甚至可能不存在,这就是为什么我使用“String”构建匿名类型字典的原因 public Dictionary<string, filter_properties> properties { get; 放; 我可以将此格式应用于任何需要这些属性的对象。
public class filter_keys
{
public string notes { get; set; }
public string group { get; set; }
public string assigned { get; set; }
public Dictionary<string, filter_properties> properties { get; set; }
}
public class filter_properties
{
public bool contains { get; set; }
public bool equals { get; set; }
public bool startsWith { get; set; }
public string value { get; set; }
}
我真的很感激一些帮助,以弄清楚如何仅为此描述和 shortDescription 字段设置一个简单的属性,不仅可以序列化数据,还可以反序列化数据,因此我可以检查这些对象是否存在于 json .
当我设置我使用的 json
Dictionary<string, filter_properties> keys = new Dictionary<string, filter_properties>();
keys.Add("anonymous", new filter_properties { value="can't find it" });
和/或
keys.Add("shortDescription", new filter_properties {
contains = true,
value = "blah blah blah"
});