Ошибка при создании Newtonsoft.json: массив не был одномерным массивом

Я получаю сообщение об ошибке при попытке сериализации объектов.

Product product = new Product();

product.Name = "Apple";

product.Expiry = new DateTime(2008, 12, 28);

product.Price = 3.99M;

product.Sizes = new string[3,2] { {"Small","40"}, {"Medium","44"}, {"Large","50"} };



string json = JsonConvert.SerializeObject(product);//this line is throwing an error


Array was not a one-dimensional array

Есть ли способ сериализации двумерного массива с Newtonsoft.json

Заранее спасибо. SIA

2 ответа

Решение

Json.NET не поддерживает многомерные массивы. Вместо этого используйте неровный массив.

http://www.c-sharpcorner.com/uploadfile/mahesh/workingwitharrays11232005064036am/workingwitharrays.aspx

Поддерживает ли newtonsoft сериализацию анонимных объектов? Если это так, вы можете попробовать:

product.Sizes = new {Small = 40, Medium = 44, Large = 50};

Вам нужно будет изменить Product.Sizes просто быть object

Другие вопросы по тегам