Невозможно десериализовать строковый массив массивов Json в объект при использовании Newtonsoft.Json - PullRequest
0 голосов
/ 18 апреля 2019

Я использую Newtonsoft.Json и пытаюсь десериализовать массив массивов строк Json в созданный мною C # объект.

Это строка JSON -

[4615,4618,4619,4626,4615,4626,4631,4636,4637],[4615,4618,4619,4626,4615,4626,4631,4636,4637],[4615,4618,4619,4626,4615,4626,4631,4636,4637]

Это моя объектная модель -

  public class NumberMatrix
    {
        public List<int> NumberIDs { get; set; }

        public NumberMatrix()
        {
            this.NumberIDs = new List<int>();
        }
    }

Вот как я пытаюсь конвертировать -

var numbers = HttpContext.Current.Request.Params["Numbers"];
var numberIDsMatrix = JsonConvert.DeserializeObject<List<NumberMatrix>>(numbers);

Я попытался десериализовать JSON несколькими способами и получил разные ошибки. Можно ли десериализовать эту строку JSON? как?

1 Ответ

0 голосов
/ 18 апреля 2019

Это недопустимый JSON, вам нужно окружить его, например, [...]. Вы могли бы сделать это:

var result = JsonConvert.DeserializeObject<List<List<int>>>($"[{numbers}]");
...