Как получить объект из json на языке c#

Столкнулся с такой проблемой. Требовалось вывести на datagridview список всех заявок (из json) вывел я их с помощью Newthonjson. создал список и передал его как ресурс для datagridview. проблема в том что ответ состоит из объекта в котором есть другой объект выглядит примерно так:

[
{
    "orderedBy": {
        "name": "Имя заказчика",
        "_id": "60a61e6656403833a40f73ee"
    },
    "takenBy": {
        "name": "Имя принявшего заказ",
        "_id": "60a7b663288d253d401592b0"
    },
    "takenAt": "2021-05-21",
    "_id": "60a7b24e1f32040990c37572",
    "status": "in progress",
    "description": "test order",
    "ordered_At": "2021-05-21",
    "__v": 0
},
{
    "orderedBy": {
        "name": "Имя",
        "_id": "60a61e6656403833a40f73ee"
    },
    "takenAt": null,
    "_id": "60a7b2892d3d3c2c500abaf0",
    "description": "test order",
    "status": "created",
    "ordered_At": "2021-05-21",
    "__v": 0
},
{
    "orderedBy": {
        "name": "Имя",
        "_id": "60a61e6656403833a40f73ee"
    },
    "takenAt": null,
    "_id": "60a7b28e2d3d3c2c500abaf1",
    "description": "test order2",
    "status": "created",
    "ordered_At": "2021-05-21",
    "__v": 0
},
{
    "orderedBy": {
        "name": "Имя",
        "_id": "60a61e6656403833a40f73ee"
    },
    "takenBy": {
        "name": "Имя",
        "_id": "60a7b663288d253d401592b0"
    },
    "takenAt": "2021-05-21",
    "_id": "60a7b2922d3d3c2c500abaf2",
    "description": "test order3",
    "status": "done",
    "ordered_At": "2021-05-21T13:16:02.411Z",
    "__v": 0
},
{
    "orderedBy": {
        "name": "Имя",
        "_id": "60a61e6656403833a40f73ee"
    },
    "takenAt": null,
    "_id": "60a88ffbc9b24a0015db80ef",
    "description": "this is description of order",
    "status": "created",
    "ordered_At": "2021-05-22",
    "__v": 0
}

]

Заполняю datagrid таким способом:

private void FillDatagrvw(string json)
    {
        dynamic job= new List<OrderResponse>();
        
        try
        {
            job = JsonConvert.DeserializeObject<List<OrderResponse>>(json);
           
        }
        catch (Exception ext){
            MessageBox.Show(ext.ToString());
        }
        if (job != null)
        {
            
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource = job;
            dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
        }
    }

Поля класса OrderResponse:

public class OrderResponse { 
    public OrderBy orderedBy { get; set; }
    public TakenBy takenBy { get; set; }
    public string ordered_At { get; set; }
    public string takenAt { get; set; }
    public string status { get; set; }
    public string _id { get; set; }
    public string description { get; set; }
}

Помогите получить значения orderedBy и takenBy. Заранее спасибо


Ответы (1 шт):

Автор решения: Blackmeser
public class OrderResponse
{
    public OrderBy orderedBy { get; set; }
    public string OrderBy_name => orderedBy.name;
    public string OrderBy_id => orderedBy._id;
    public TakenBy takenBy { get; set; }
    public string takenBy_name => takenBy.name;
    public string takenBy_id => takenBy._id;
    public string ordered_At { get; set; }
    public string takenAt { get; set; }
    public string status { get; set; }
    public string _id { get; set; }
    public string description { get; set; }
}
→ Ссылка