从c#类创建JSON对象

时间:2013-01-15 12:04:28

标签: c# javascript asp.net-mvc json

我有一个看起来像这样的视图模型:

public class CategoriesJsonViewModel
{
    public int Id { get; set; }
    public string Title { get; set; }
    public List<Description> UsedDescriptions { get; set; }
    public List<Description> UnusedDescriptions { get; set; }
}

我正在我的控制器中创建一个CategoriesJsonViewModel列表,并尝试以Json格式将其发送到客户端浏览器。我使用Json()方法来做到这一点:

List<CategoriesJsonViewModel> categoriesVM = new List<CategoriesJsonViewModel>();
List<Category> categories = repo.GetAllCategories();
foreach(var i in categories)
{
            CategoriesJsonViewModel categoryVM = new CategoriesJsonViewModel();
            categoryVM.Id = i.Id;
            categoryVM.Title = i.Title;
            categoriesVM.Add(categoryVM);
            categoryVM.UsedDescriptions = repo.GetUsedDescriptions(i.Id);
            categoryVM.UnusedDescriptions = repo.GetUnusedDescriptions(i.Id);
 }


 return Json(categoriesVM);

虽然正在构建categoriesVM对象,但由于某种原因,我没有从中获取适当的Json对象。为什么会这样?

1 个答案:

答案 0 :(得分:1)

我建议你输出json并输入jsonlint.com

这将帮助您找出导致json无效的原因。它可能与您对Description对象的定义有关,因为您的CategoriesJsonViewModel看起来应该没问题。