类中的C#Json格式
我有一个C班 我从一个存储过程的EF6.0函数中填充 我被要求为该类的每个记录创建一个这种格式的Json类中的C#Json格式,c#,json,C#,Json,我有一个C班 我从一个存储过程的EF6.0函数中填充 我被要求为该类的每个记录创建一个这种格式的Json { "Ktype": [ { "from" "to" "flag" } ] } 我对Json有一点经验。这里的一些人帮我赶上了 直到现在我才知道“outer”属性(我不知道如何称呼它…对不起)来自类名 在本例中,Ktype是类的一部分 如何用Json序列化这个类,并将Ktype作为外部Json属性 我想要这样的东西: {
{
"Ktype": [
{
"from"
"to"
"flag"
}
]
}
我对Json有一点经验。这里的一些人帮我赶上了
直到现在我才知道“outer”属性(我不知道如何称呼它…对不起)来自类名
在本例中,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}]
}
如果我理解正确,也许这会帮助你:
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; }
}
公共级occ
{
公共列表ktype{get;set;}
公共货币监理署()
{
this.ktype=新列表();
}
}
公共类Ktype
{
来自{get;set;}的公共日期时间
公共日期时间{get;set;}
公共标志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; }
}
创建一个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; }
}
公共类KTypeDto
{
公共列表k类型{get;set;}
}
公共类KType
{
来自{get;set;}的公共日期时间
公共日期时间{get;set;}
公共标志Bool{get;set;}
}
使用newtonsoft库中的序列化对象
:
string json = JsonConvert.SerializeObject(new occ(), Formatting.Indented);
有关详细信息为什么
ktype
成为数组(它只是类中的一个字符串)?如何在类和所需的json之间映射?使用什么序列化程序?@James ISO 8601-没问题。我可以处理这个问题。@jamice我们有一组数据(类集)来提供信息。一位客户在他的json结果中询问了上述转换。您应该创建与json格式匹配的类型,或者只使用这些类型,或者映射到这些类型,然后从这些类型创建json,这将使处理一个属性成为数组变得更容易。谢谢Luca,但我认为在您的示例中找不到ktype数据。ktype是一个字符串,其数据应该存在于json中。
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; }
}
string json = JsonConvert.SerializeObject(new occ(), Formatting.Indented);