NarasinghRao Ответов: 2

Как привязать данные json к datagridview в приложении C# windows


мой формат json выглядит так
..................
{
"шаблон": {
"раздел": "всего",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
"sectiontappals": [
{
"секция": "Коллекторат-это секция",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
""раздел: "Collectorate-B раздел",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
"секция": "Коллекторат-с секция",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
"секция": "секция Коллектората-Д",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
""раздел: "Collectorate-е секции",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
"секция": "Коллекторат-секция F и G",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
""раздел: "Collectorate-раздел H",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
"секция": "секция Коллектората-ИАП",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
""раздел: "Collectorate-ЛНР разделе",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
""раздел: "Collectorate-ЛП разделе",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
"секция": "секция Коллектората-ЛР",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
},
{
"раздел": "нет",
"totalRecievedTillDate": null,
"receivedFiles": "0",
"attendedFiles": "0",
"pendingFiles": "0",
"totalActionPendingTillDate": null,
"totalActionCompletedTappal": null,
"last15DaysActionCompleted": null,
"last15DaysRecievedTappal": null
}
]
}
...............

я хочу привязать это к моему представлению datagrid, но не могу этого сделать. пожалуйста помогите

мне нужны такие столбцы, как :раздел, totalRecievedTillDate,receivedFiles,attendedFiles,pendingFiles,totalActionPendingTillDate,totalActionCompletedTappal,last15DaysActionCompleted,last15DaysRecievedTappal

Что я уже пробовал:

использование (WebClient wc = новый WebClient())
{
ВАР в JSON = туалет.DownloadString("URL-адрес");
var user = JsonConvert.DeserializeObject<List<clsdashbord>>(json);

datagrid1.DataSource = пользователь;
}

2 Ответов

Рейтинг:
2

Member 10232230

{ "totalCount": 2,
"лимит": 100,
"смещение": 0,
"pageCount": 1,
"утварь": [
{
"dueDate": "2019-01-18T00:00:00",
"lastStatusUpdateDate": "2019-01-16T16:34:47",
"id": "b17553de-db34-49ed-99ac-7382291fa7bd",
"артикул": "HBV000007NVPO",
"orderId": "a9965c83-085f-4130-8809-5acb4070da5d",
"порядковый номер": "0874654893",
"датаразмещения": "2019-01-16T16:34:47",
"количество": 1,
"merchantId": "823539cd-1f10-4971-8859-cd648cfb4ff6",
"totalPrice": {
"валюта": "попробуй",
"сумма": 301,4
},
"цена": {
"валюта": "попробуй",
"сумма": 301,4
},
"hbDiscount": {
"totalPrice": {
"валюта": "попробуй",
"сумма": 0
},
"цена": {
"валюта": "попробуй",
"сумма": 0
}
},
"НДС": 0,
"ватрат": 0,
"customerName": "Emre Test",
"статус": "открыто",
"shippingAddress": null,
"фактура": {
"turkishIdentityNumber": "1234567890",
"taxNumber": "12345",
"taxOffice": "Istanbul",
"адрес": {
"адрес": "e66765b3-d37d-488c-ae15-47051245dc9b",
"адрес": "Trump Towers",
"имя": "офис Хепсибурада",
"письмо": "customer@hepsiburada.com.tr",
"код": "ТР",
"номер_телефона": "902822613231",
"alternatePhoneNumber": "045321538212",
"район": "Сисли",
"город": "Стамбул",
"город": ноль
}
},
"sapNumber": "12345",
"dispatchTime": 1,
"комиссия": {
"валюта": "попробуй",
"сумма": 1
},
"paymentTermInDays": 30,
"тип комиссии": 0,
"cargoCompanyModel": {
"id": 1,
"имя": "Юртичи Карго",
"короткое имя": "Ык",
"logoUrl": "http://images.hepsiburada.com/assets/cargo-logo/yurtici.svg",
"trackingUrl": "http://selfservis.yurticikargo.com/reports/SSWDocumentDetail.aspx-что?DocId={0}"
},
"cargoCompany": "Yurtiçi Kargo",
"customizedText01": null,
"customizedText02": null,
"customizedText03": null,
"customizedText04": null,
"customizedTextX": null,
"creditCardHolderName": null,
"isCustomized": ложь,
"canCreatePackage": true,
"isCancellable": верно,
"isCancellableByHbAdmin": верно,
"deliveryType": "стандартная доставка",
"deliveryOptionId": 1,
"слот": {
"id": null,
"временной интервал": "14:00-16:00"
},
"pickUpTime": null
},
{
"dueDate": "2019-01-18T00:00:00",
"lastStatusUpdateDate": "2019-01-16T16:34:47",
"id": "82c41b2b-e30b-4d38-9162-1aeae7eadecc",
"артикул": "HBV00000DBR6S",
"orderId": "a9965c83-085f-4130-8809-5acb4070da5d",
"порядковый номер": "0874654893",
"датаразмещения": "2019-01-16T16:34:47",
"количество": 2,
"merchantId": "823539cd-1f10-4971-8859-cd648cfb4ff6",
"totalPrice": {
"валюта": "попробуй",
"сумма": 610,8
},
"цена": {
"валюта": "попробуй",
"сумма": 305,4
},
"hbDiscount": {
"totalPrice": {
"валюта": "попробуй",
"сумма": 0
},
"цена": {
"валюта": "попробуй",
"сумма": 0
}
},
"НДС": 0,
"ватрат": 0,
"customerName": "Emre Test",
"статус": "открыто",
"shippingAddress": null,
"фактура": {
"turkishIdentityNumber": "1234567890",
"taxNumber": "12345",
"taxOffice": "Istanbul",
"адрес": {
"адрес": "e66765b3-d37d-488c-ae15-47051245dc9b",
"адрес": "Trump Towers",
"имя": "офис Хепсибурада",
"письмо": "customer@hepsiburada.com.tr",
"код": "ТР",
"номер_телефона": "902822613231",
"alternatePhoneNumber": "045321538212",
"район": "Сисли",
"город": "Стамбул",
"город": ноль
}
},
"sapNumber": "12345",
"dispatchTime": 1,
"комиссия": {
"валюта": "попробуй",
"сумма": 1
},
"paymentTermInDays": 30,
"тип комиссии": 0,
"cargoCompanyModel": {
"id": 1,
"имя": "Юртичи Карго",
"короткое имя": "Ык",
"logoUrl": "http://images.hepsiburada.com/assets/cargo-logo/yurtici.svg",
"trackingUrl": "http://selfservis.yurticikargo.com/reports/SSWDocumentDetail.aspx-что?DocId={0}"
},
"cargoCompany": "Yurtiçi Kargo",
"customizedText01": null,
"customizedText02": null,
"customizedText03": null,
"customizedText04": null,
"customizedTextX": null,
"creditCardHolderName": null,
"isCustomized": ложь,
"canCreatePackage": true,
"isCancellable": верно,
"isCancellableByHbAdmin": верно,
"deliveryType": "стандартная доставка",
"deliveryOptionId": 1,
"слот": {
"id": null,
"временной интервал": "14:00-16:00"
},
"pickUpTime": null
}
]
}


Рейтинг:
0

Richard MacCutchan

Сначала вам нужно десериализовать JSON в объекты C#, см. Как сериализовать и десериализовать данные JSON [^]. Как только у вас есть данные в удобной форме, вы можете привязать результирующее содержимое к вашему DataGridView.


NarasinghRao

не получая данных

Richard MacCutchan

Это должно что-то значить?

NarasinghRao

это показывает, как: не удается десериализовать текущий объект JSON (например, {"name":"value"}) в тип 'System.Коллекции.Generic.List`1[dashboard.clsdashbord]', поскольку для правильной десериализации этого типа требуется массив JSON (например, [1,2,3]).

Чтобы исправить эту ошибку, либо измените JSON на массив JSON (например, [1,2,3]), либо измените десериализованный тип так, чтобы он был нормальным .Чистый тип (например, не примитивный тип

Richard MacCutchan

Похоже, что вы пытаетесь десериализовать неправильную часть возвращаемого JSON. Раздел, начинающийся с sectiontappals это массив JSON, но не ясно, что перед этим.

NarasinghRao

хорошо, могу ли я привязать данные из sectiontappals. возможно ли это ? если да. пожалуйста скажите мне сэр

Richard MacCutchan

Я не использовал JsonConvert от Newtonsoft, но предполагаю, что это должно быть так. Вам нужно проверить документацию.