У меня есть JSON со сложной структурой, и я хочу преобразовать его в DataTable для заполнения DataGrid.Код ниже работает только с плоской структурой JSON.Мне нужно общее решение для преобразования любого сложного JSON в DataTable для приложения WPF.,
void FillGridWithData()
{
//[
//{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ]
//},
//{ "name":"BMW", "models":[ "320", "X3", "X5" ]
//},
//{ "name":"Fiat", "models":[ "500", "Panda" ] }]
string json = " [\r\n { \"name\":\"Ford\", \"models\":[ \"Fiesta\", \"Focus\", \"Mustang\" ] },\r\n { \"name\":\"BMW\", \"models\":[ \"320\", \"X3\", \"X5\" ] },\r\n { \"name\":\"Fiat\", \"models\":[ \"500\", \"Panda\" ] }\r\n ]"
JArray jarray = JArray.Parse(json);
DataTable table = jarray.ToObject<DataTable>();
this.datagrid.DataContext = table.DefaultView;
}
Это вывод: Модели
Если это возможно, пожалуйста, ответьте мнекак это сделать, не создавая классы для каждого json, потому что у меня много разных структур json.
Это пример некоторых json, которые мне нужно показать в DataGrid:
{
"Example": [
{
"Num": 1,
"Category": "Poslano",
"Date": "2019-01-07T00:00:00",
"Object": {
"Value1": "Ante Blažević",
"Value2": "54984",
"Value3: "4968",
"Value4": "48968",
"Value5": "Something"
},
"ValueString": "dgfhdfg",
"Value45": "dfghdf"
},
{
"Num": 2,
"Category": "Poslano",
"Date": "2019-01-07T00:00:00",
"Object": {
"Value1": "Nikica Rašlić",
"Value2": "5498",
"Value3": "8749",
"Value4": "54696",
"Value5": "Something"
},
"ValueString": "Bla",
"Value45": "dfghdf"
}
]
}