使用Newtonsoft.Json时无法将数组的Json字符串数组反序列化为对象

时间:2019-04-18 16:18:53

标签: c# asp.net-web-api asp.net-web-api2

我正在使用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 :(得分:0)

那不是有效的JSON,例如,您需要用[...]括起来。您可以这样做:

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