来自类的 C# Json 格式

本文关键字:Json 格式 | 更新日期: 2023-09-27 18:32:14

我有一个 C# 类

public class occ
{
    public datetime from    { get; set; }
    public datetime to      { get; set; }
    public string   Ktype   { get; set; }
    public flag     bool    { get; set; }
}

我从来自存储过程的 EF6.0 函数填充

我被要求为该类的每条记录创建一个这种格式的 Json

{
"Ktype": [
    {
        "from"
        "to"
        "flag"
    }
]

}

我对 Json 有一点经验。这里的一些人帮助我赶上了。

直到现在我才知道"外部"属性(我不知道如何称呼它......对不起)来自类名。

在此示例中,Ktype 是类的一部分。

如何对此类进行 JSON 序列化并将 Ktype 作为外部 Json 属性?

我想要这样的东西:

 {
        "TRC": [{"from":"2016-02-09","to":"2016-02-16","flag":true}]
 }
{
        "TRX": [{"from":"2016-02-12","to":"2016-02-18","flag":false}]
}

来自类的 C# Json 格式

如果我理解正确,也许这会对你有所帮助:

public class occ
{
    public List<Ktype> ktype { get; set;}
    public occ()
    {
        this.ktype = new List<Ktype>();
    }
}
public class Ktype
{
    public datetime from    { get; set; }
    public datetime to      { get; set; }
    public flag     bool    { get; set; }
}

以下内容在填充和序列化时会产生以下json

public class Root
{
    public List<Ktype> Ktype { get; set; } = new List<Ktype>();
}
public class Ktype
{
    public DateTime from { get; set; }
    public DateTime to { get; set; }
    public bool flag { get; set; }
}

杰森:

{
    "Ktype": [{
        "from": "2016-01-28T14:43:10.3103658+00:00",
        "to": "2016-01-28T14:43:10.3103658+00:00",
        "flag": true
    }]
}

使用 Newtonsoft lib 中的SerializeObject

string json = JsonConvert.SerializeObject(new occ(), Formatting.Indented);

有关更多信息,请查看此内容

像这样创建一个 KTypeDto

public class KTypeDto
{
    public List<KType> KTypes { get; set;}
}
public class KType
{
    public Datetime From { get; set; }
    public Datetime To { get; set; }
    public Flag Bool { get; set; }
}