@v111tek

Какую коллекцию использовать, чтобы добавить объект в объект JSON без квадратных скобок?

Мне нужно получить вот такую картину:

"Request": {
"CompanyId": 20001,
"RequestId": 1569853953,
"UserLogin": "api20001",
"Sign": "fb2b09b72a7cb0279588385421700a93",
"ignoreItemCodeCheck": 1
}

В моем случае, при выводе в консоль, я получаю следующую картину:

"Request": [
    {
      "CompanyId": 20001,
      "RequestId": 1569853953,
      "UserLogin": "api20001",
      "Sign": "fb2b09b72a7cb0279588385421700a93",
      "ignoreItemCodeCheck": true
    }
  ]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;

namespace JsonKit
{
    internal class Program
    {


        static void Main(string[] args)
        {

            var sendCheck = new SendCheck()
            {
                Request = new List<Request> { }
            };

            Console.WriteLine(JsonSerializer.Serialize(sendCheck));

            var request = new Request() 
            {
                CompanyId = 20001,
                RequestId = 1569853953,
                UserLogin = "api20001",
                Sign = "fb2b09b72a7cb0279588385421700a93",
                ignoreItemCodeCheck = true
            };

            var Options = new JsonSerializerOptions
            {
                WriteIndented = true,
                DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull
            };

            sendCheck.Request.Add(request)


            Console.WriteLine(JsonSerializer.Serialize(sendCheck, Options));


            Console.ReadKey();

        }
    }

    public class SendCheck
    {
        [JsonPropertyName("Request")]
        public List<Request> Request { get; set; }

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

    public class Request
    {
        [JsonPropertyName("CompanyId")]
        public int CompanyId { get; set; }

        [JsonPropertyName("RequestId")]
        public int RequestId { get; set; }

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

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

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

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

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

        [JsonPropertyName("ignoreItemCodeCheck")]
        public bool ignoreItemCodeCheck { get; set; }
    }

Подскажите, пожалуйста, как мне справиться с данной проблемой, может что-то нужно использовать вместо List, но что именно я найти не смог, очень мало информации в интернете со сложными форматами JSON на C#, все похожие на простые запросы VK API.
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
firedragon
@firedragon
Senior .NET developer
Вместо листа просто используйте класс request
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Список тут не нужен, должен быть объект с полем Request
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы