如何将Json表(数组数组)数据转换为c#对象集合
我有一个json格式的表状(数组数组)对象,我想将其转换为c#对象的集合如何将Json表(数组数组)数据转换为c#对象集合,c#,json,json.net,C#,Json,Json.net,我有一个json格式的表状(数组数组)对象,我想将其转换为c#对象的集合 { "Columns": [ { "id": 1, "name": "column name 1", "other stuff": "blah blah" }, { "id": 2, "name": "column name 2",
{
"Columns": [
{
"id": 1,
"name": "column name 1",
"other stuff": "blah blah"
},
{
"id": 2,
"name": "column name 2",
"other stuff": "blah blah"
},
{
"id": 3,
"name": "column name 3",
"other stuff": "blah blah"
}
],
"Data": [
[
"blah bla",
"bloop",
1
],
[
"t",
"another random value",
5
],
[
"foo",
"bar",
5
],
[
"something valuable",
"value2",
5
]
]
}
我想将其序列化到一个对象集合或数据表中,类似于以下内容:
public class Row
{
public string ColumnName1 {get;set;}
public string ColumnName2 {get;set;}
public int ColumnName3 {get;set;}
}
var jsonString = "same as above just properly escaped";
list<Row> rows = Deserialize(jsonString);
但我无法控制,因此…您可以使用Json.Net的API将Json数据解析为您想要的格式:
JObject jo = JObject.Parse(json);
List<Row> rows = jo["Data"]
.Children<JArray>()
.Select(ja => new Row
{
ColumnName1 = (string)ja[0],
ColumnName2 = (string)ja[1],
ColumnName3 = (int)ja[2]
})
.ToList();
JObject jo=JObject.Parse(json);
列表行=jo[“数据”]
.儿童()
.选择(ja=>新行
{
ColumnName1=(字符串)ja[0],
ColumnName2=(字符串)ja[1],
ColumnName3=(int)ja[2]
})
.ToList();
Fiddle:您可以使用Json.Net的API将Json数据解析为您想要的格式:
JObject jo = JObject.Parse(json);
List<Row> rows = jo["Data"]
.Children<JArray>()
.Select(ja => new Row
{
ColumnName1 = (string)ja[0],
ColumnName2 = (string)ja[1],
ColumnName3 = (int)ja[2]
})
.ToList();
JObject jo=JObject.Parse(json);
列表行=jo[“数据”]
.儿童()
.选择(ja=>新行
{
ColumnName1=(字符串)ja[0],
ColumnName2=(字符串)ja[1],
ColumnName3=(int)ja[2]
})
.ToList();
Fiddle:您可以使用Json.Net的API将Json数据解析为您想要的格式:
JObject jo = JObject.Parse(json);
List<Row> rows = jo["Data"]
.Children<JArray>()
.Select(ja => new Row
{
ColumnName1 = (string)ja[0],
ColumnName2 = (string)ja[1],
ColumnName3 = (int)ja[2]
})
.ToList();
JObject jo=JObject.Parse(json);
列表行=jo[“数据”]
.儿童()
.选择(ja=>新行
{
ColumnName1=(字符串)ja[0],
ColumnName2=(字符串)ja[1],
ColumnName3=(int)ja[2]
})
.ToList();
Fiddle:您可以使用Json.Net的API将Json数据解析为您想要的格式:
JObject jo = JObject.Parse(json);
List<Row> rows = jo["Data"]
.Children<JArray>()
.Select(ja => new Row
{
ColumnName1 = (string)ja[0],
ColumnName2 = (string)ja[1],
ColumnName3 = (int)ja[2]
})
.ToList();
JObject jo=JObject.Parse(json);
列表行=jo[“数据”]
.儿童()
.选择(ja=>新行
{
ColumnName1=(字符串)ja[0],
ColumnName2=(字符串)ja[1],
ColumnName3=(int)ja[2]
})
.ToList();
Fiddle:您的数据对象没有键吗???json中的“数据”对象是一个数组数组,因此没有键。从概念上讲,键存储在columns数组中,它们是已知的/静态的。t数据对象是否没有键???json中的“数据”对象是数组数组,因此没有键。从概念上讲,键存储在columns数组中,它们是已知的/静态的。t数据对象是否没有键???json中的“数据”对象是数组数组,因此没有键。从概念上讲,键存储在columns数组中,它们是已知的/静态的。t数据对象是否没有键???json中的“数据”对象是数组数组,因此没有键。从概念上讲,键存储在columns数组中,它们是已知的/静态的。我真的希望这足够普遍,我只是缺少了一些属性或东西,但这很简单/干净。谢谢我真的希望这足够普遍,我只是缺少了一些属性或东西,但这很简单/干净。谢谢我真的希望这足够普遍,我只是缺少了一些属性或东西,但这很简单/干净。谢谢我真的希望这足够普遍,我只是缺少了一些属性或东西,但这很简单/干净。谢谢