public JsonResult GetCategory() { var source = TaskConfigManager.SelectProductCategory().Where(s => s.ParentCategory == null || !s.ParentCategory.Any()).ToList(); foreach (var c in source) { var children = new List <Category>(); TaskConfigManager.childCategory(children, c); c.ChildrenCategory = children; } return(Json(source.Select(r => new { name = r.DisplayName, open = false, title = r.CategoryName, url = r.NodeNo, children = r.ChildrenCategory.Select(c => new { name = c.DisplayName, title = c.CategoryName, url = c.NodeNo }) }), JsonRequestBehavior.AllowGet)); }