【发布时间】:2017-03-20 03:15:17
【问题描述】:
我必须像这样:
public class OptimizationNodeDto : IModelWithId
{
public int Id { get; set; }
[DataMember(Name = "parentId")]
public int? ParentOptimizationNodeId { get; set; }
[DataMember(Name = "name")]
public string Text { get; set; }
[DataMember(Name = "opened")]
public bool IsOpened { get; set; }
[DataMember(Name = "selected")]
public SelectedStates SelectedState { get; set; }
public List<OptimizationNodeDto> Children { get; set; }
}
我希望当我使用任何 API 发送此对象时,它应该在 JSON 中提供属性名称,就像 DataMember 中提到的那样,但它没有发生。例如,ParentOptimizationNodeId 应该是 JSON 结果中的 parentId。 我在这里发送 Dto:
[Route("{roleId}/Optimizations")]
[HttpPost]
public IHttpActionResult GetOptimizationList([FromUri]int roleId, [FromBody] FilterDto filter)
{
try
{
var groupManBo = _serviceLocator.Resolve<IRoleManagerBo>();
return Ok(groupManBo.GetOptimization(roleId, this.ViewboxUser, filter));
}
catch (Exception ex)
{
return this.HandleError(ex);
}
}
【问题讨论】:
-
你使用的是什么 Json 序列化器?
-
我是 Json 序列化程序的新手。请您建议执行此操作的步骤。
-
嗯嗯,你发送这个 DTO 的代码在哪里?
-
我更新了我的问题。
-
好吧,我认为
[DataMember]不是重命名 JSON 键的正确属性,我认为[JsonProperty(PropertyName="")]是您想要的。
标签: c# serialization entity-framework-6