我有以下格式的JSON(从CouchDB的视图)反序列化JSON到C#类
{"rows":[
{"key":["2015-04-01","524","http://www.sampleurl.com/"],"value":1},
{"key":["2015-04-01","524","http://www.sampleurl2.com/"],"value":2},
{"key":["2015-04-01","524","http://www.sampleurl3.com"],"value":1}
]}
我需要创建一个“服务”,从CouchDB中获取此数据并将其插入SQL服务器上(对于生成报告..)以有效的方式。我的第一个赌注是批量插入到SQL Server的这个json,像这样:Bulk Insert from Generic List into SQL Server with minimum lines of code
问题是,我该如何映射这个JSON到一个c#类?
Ultil现在这是我做过什么:
public class Row
{
public List<string> key { get; set; }
public int value { get; set; }
}
public class RootObject
{
public List<Row> rows { get; set; }
}
var example = Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject>(jsontext);
这给了我 “行” 的列表。每一行都有一个Key,每个键都是一个包含Date,Url和一个数字的数组。
我可以通过“行”循环并创建自己的对象,但这不会对我听起来非常高效。另外,JSON会很大,大概是5MB左右。
我需要的结构是这样的:
public class Click
{
public DateTime Date { get; set; }
public string Code { get; set; }
public string Url { get; set; }
public int Count { get; set; }
}
我如何可以提取的“钥匙”阵列,并将其映射到分离的特性。这样,我不需要for循环。
任何想法?
有你进行一个简单的谷歌搜索实际上有吨的工作示例在您的浏览器中键入以下内容,例如 'C#stackoverflow反序列化JSON到C#类'让我们知道结果 – MethodMan
我的问题不是反序列化。正如我在我的问题中解释过的,我已经这样做了。我的问题是以特定的方式绘制地图。 – jpgrassi
如果您想要以特定方式生成类,您可以解释为什么它必须按特定顺序进行解释。一旦创建类并实例化对象,就可以访问所有公共属性..也许你需要更好地解释它 – MethodMan