首页 > 解决方案 > 在 C# 中将类转换为 Json 对象

问题描述

我有一个类 DraftForm :

public class DraftForm 
{
    public string Json { get; set; }
    public System.DateTime CreatedDate { get; set; }
    public string DraftNumber { get; set; }
    public string DraftName{ get; set; }
}

在这种方法中,我想返回 DraftForm 类的 Json:

public Object GetAllDraftDossier()
{
    var draftDossiers = _context.DraftForms
        .Where(x=> x.DraftName== "Repairer")
        .ToList();
    var json = Newtonsoft.Json.JsonConvert.SerializeObject(
        draftDossiers, 
        new JsonSerializerSettings { 
            ContractResolver = new CamelCasePropertyNamesContractResolver()
        }
    );
    return json;
}

控制器:

[Route("repair/UnfinishedDossiers")]
    [HttpGet]
    public IHttpActionResult GetAllDraftDossier()
    {
        var draftDossier = _dossierRepairRepository.GetAllDraftDossier();
        return Ok(draftDossier);
    }

在邮递员中,它返回一个字符串而不是 json !谁能帮我 ?

标签: c#json

解决方案


将您的存储库方法更改为:

public IList<DraftForm> GetAllDraftDossier()
{
    return _context.DraftForms
        .Where(x=> x.DraftName== "Repairer")
        .ToList();
}

然后控制器将返回IList<DraftForm>IHttpActionResult框架将为您将其序列化为 JSON。


推荐阅读