Запрос json для заполнения справочника

Нужно заполнить справочник запросом json Вот пример с оф сайта

введите сюда описание изображения

{
"Items":[{
    "Data":{
        "Items":[{
            "Data":{
                "Items":null,
                "Value":"Строковое содержимое"
            },
            "DataArray":[{
                "Items":null,
                "Value":"Строковое содержимое"
            }],
            "Name":"Строковое содержимое",
            "Value":"Строковое содержимое"
        }],
        "Value":"Строковое содержимое"
    },
    "DataArray":[{
        "Items":[{
            "Data":{
                "Items":null,
                "Value":"Строковое содержимое"
            },
            "DataArray":[{
                "Items":null,
                "Value":"Строковое содержимое"
            }],
            "Name":"Строковое содержимое",
            "Value":"Строковое содержимое"
        }],
        "Value":"Строковое содержимое"
    }],
    "Name":"Строковое содержимое",
    "Value":"Строковое содержимое"
}],
"Value":"Строковое содержимое"

}

сам справочник Справочник

Ну и собственно мои попытки

"
                           ""Items"":
                            [
                                {

                                    ""Data"":
                                        {
                                            ""Items"":
                                              [
                                                    {
                                                        ""Data"":
                                                        {
                                                        ""Items"":null,
                                                        ""Value"":Строковое содержимое
                                                        },

                                                        ""DataArray"":
                                                        [
                                                            {
                                                                ""Items"":null,
                                                                ""Value"":[]

                                                            }
                                                        ],

                                                    ""Name"":IdTelegram,
                                                    ""Value"":"+chatid+ @"

                                                    }
                                               ],
                                            {
                                                        
                                               ],
                                                ""Value"":Строковое содержимое

                                           },
                                    ""DataArray"":
                                    [
                                        {
                                           ""Items"":
                                            [
                                                {
                                                    ""Data"":
                                                    {
                                                        ""Items"":null,
                                                        ""Value"":Строковое содержимое

                                                    },
                                                    ""DataArray"":
                                                    [
                                                        {
                                                            ""Items"":null,
                                                            ""Value"":[]

                                                        }
                                                    ],
                                                    ""Name"":IdUserElma,
                                                    ""Value"":" + IdUser+@"

                                                }
                                            ],
                                            ""Value"":Строковое содержимое

                                        }
                                    ],
                                    ""Name"":AuthToken,
                                    ""Value"":Строковое содержимое

                                }
                            ],
                            ""Value"":Строковое содержимое";

Классы:

public class Data
{
    public List<Item11> Items { get; set; }
    public string Value { get; set; }
}

public class DataArray
{
    public object Items { get; set; }
    public string Value { get; set; }
}

public class Item11
{
    public Data Data { get; set; }
    public List<DataArray> DataArray { get; set; }
    public string Name { get; set; }
    public string Value { get; set; }
}

public class Root11
{
    public List<Item11> Items { get; set; }
    public string Value { get; set; }
}

Строка, которая приходит введите сюда описание изображения

Ошибка введите сюда описание изображения


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

Автор решения: Frehzy
public class Root
{
    [JsonPropertyName("Items")]
    public List<Item> Items { get; set; }

    [JsonPropertyName("Value")]
    public string Value { get; set; }
}

public class Item
{
    [JsonPropertyName("Data")]
    public Data Data { get; set; }

    [JsonPropertyName("DataArray")]
    public List<DataArray> DataArray { get; set; }

    [JsonPropertyName("Name")]
    public string Name { get; set; }

    [JsonPropertyName("Value")]
    public string Value { get; set; }
}

public class DataArray
{
    [JsonPropertyName("Items")]
    public Item Items { get; set; }

    [JsonPropertyName("Value")]
    public string Value { get; set; }
}

public class Data
{
    [JsonPropertyName("Items")]
    public List<Item> Items { get; set; }

    [JsonPropertyName("Value")]
    public string Value { get; set; }
}

Для сериализации/десереализации используйте System.Text.Json.JsonSerializer

Пример:

var json = "";//тут наш длинный json
var instance = JsonSerializer.Deserialize<Root>(json);

Изменяете как-либо instance и обратно сериализуете. Затем с помощью System.Net.Http.HttpClient отправляете запрос

using var client = new HttpClient();
var json = JsonSerializer.Serialize(instance);
var content = new StringContent(json , Encoding.UTF8, "application/json");
var result = await client.PostAsync(url, content); //отправляем json
string result = await response.Content.ReadAsStringAsync(); //если сервер как-нибудь должен отвечать, то так можно "извлечь" этот ответ
→ Ссылка