Я наблюдаю проблему десериализации JSON, которую не могу объяснить или исправить.
public class Model
{
public List<ItemModel> items { get; set; }
}
public class ItemModel
{
public int sid { get; set; }
public string name { get; set; }
public DataModel data { get; set; }
public List<ItemModel> items { get; set; }
}
public class DataModel
{
public double? d1 { get; set; }
public double? d2 { get; set; }
public double? d3 { get; set; }
}
public ActionResult Save(int id, Model model) {
}
{'items': [{'sid': 3157, 'name': 'имя', 'items': [{'sid': 3158, 'name': ' имя ребенка ',' данные ': {' d1 ': 2,' d2 ': null,' d3 ': 2}}]}]}
var jss = new JavaScriptSerializer();
var m = jss.Deserialize<Model>(json);
Assert.Equal(2, m.items.First().items.First().data.d1);
тот же JSON строка, отправленная в действие Сохранить
, не десериализуется таким же образом, особенно значения D1, D2 и D3 устанавливаются в NULL. Всегда.
Что здесь происходит и как это исправить?