在传递给 json 之前从对象中删除字段
Remove fields from objects before passing to json
我有一个与 Jira rest 一起使用的 Jira 对象 api;当我只有一个 Jira 项目时,因此一组字段可以正常工作,但是现在我有许多不同的项目可以使用不同的字段,我需要能够动态删除某些项目以前不需要的字段我把它传给吉拉。我知道我可以为每个项目创建一个自定义对象,但我宁愿创建并维护一个包含所有可能项的对象,并在将其传递给 api 之前删除每个项目不需要的对象。
默认字段:
[DataContract]
public class FieldsUpdate
{
[DataMember(Name = "issuetype")]
public Issuetype issuetype;
[DataMember(Name = "project")]
public Project project;
[DataMember(Name = "labels")]
public List<object> labels = new List<object>();
[DataMember(Name = "description")]
public string description;
[DataMember(Name = "summary")]
public string summary;
[DataMember(Name = "customfield_10400")]
public object ExpectedDelDate;
}
上层字段:
[DataContract]
public class JiraItmAddUpdate
{
[DataMember(Name = "fields")]
public FieldsUpdate fields = new FieldsUpdate();
public JiraItmAddUpdate()
{
FieldsUpdate fields = new FieldsUpdate();
}
}
当前使用示例:
JiraItmAddUpdate JiriUpdateFlds = new JiraItmAddUpdate();
JiriUpdateFlds.fields.summary = "Some Summary";
JiriUpdateFlds.fields.description = "Some Description"
var Request = JiraHttpClient.Client.PutAsJsonAsync(str_IssueKey + "/", JiriUpdateFlds);
这会产生类似
的结果
{"fields": {
"summary": "Some Summary",
"description" = "Some Description"
}
}
例如,有时我需要结束的只是摘要,但它必须保留 "fields" 父级。我看过 ExpandoObject 但似乎无法让它做我想做的事,任何人都知道我如何发送动态对象而不必为每个 jira 项目构建单独的 class 字段?
使 jira class 成为基础 class 并为每个项目继承它。然后您只需要转换为基数 class.
我有一个与 Jira rest 一起使用的 Jira 对象 api;当我只有一个 Jira 项目时,因此一组字段可以正常工作,但是现在我有许多不同的项目可以使用不同的字段,我需要能够动态删除某些项目以前不需要的字段我把它传给吉拉。我知道我可以为每个项目创建一个自定义对象,但我宁愿创建并维护一个包含所有可能项的对象,并在将其传递给 api 之前删除每个项目不需要的对象。
默认字段:
[DataContract]
public class FieldsUpdate
{
[DataMember(Name = "issuetype")]
public Issuetype issuetype;
[DataMember(Name = "project")]
public Project project;
[DataMember(Name = "labels")]
public List<object> labels = new List<object>();
[DataMember(Name = "description")]
public string description;
[DataMember(Name = "summary")]
public string summary;
[DataMember(Name = "customfield_10400")]
public object ExpectedDelDate;
}
上层字段:
[DataContract]
public class JiraItmAddUpdate
{
[DataMember(Name = "fields")]
public FieldsUpdate fields = new FieldsUpdate();
public JiraItmAddUpdate()
{
FieldsUpdate fields = new FieldsUpdate();
}
}
当前使用示例:
JiraItmAddUpdate JiriUpdateFlds = new JiraItmAddUpdate();
JiriUpdateFlds.fields.summary = "Some Summary";
JiriUpdateFlds.fields.description = "Some Description"
var Request = JiraHttpClient.Client.PutAsJsonAsync(str_IssueKey + "/", JiriUpdateFlds);
这会产生类似
的结果 {"fields": {
"summary": "Some Summary",
"description" = "Some Description"
}
}
例如,有时我需要结束的只是摘要,但它必须保留 "fields" 父级。我看过 ExpandoObject 但似乎无法让它做我想做的事,任何人都知道我如何发送动态对象而不必为每个 jira 项目构建单独的 class 字段?
使 jira class 成为基础 class 并为每个项目继承它。然后您只需要转换为基数 class.