I'm having a hard time in returning the formatted JSON
as an array. My current code already returns JSON
as an array but I want to get rid of these bracket first []
to get my desired output.
Controller
public JsonResult GenerateGanttChart() { SPMS_GanttChartLayers ddl = new SPMS_GanttChartLayers(); var data = ddl.GenerateGanttChart(); return Json(data, JsonRequestBehavior.AllowGet); }
Layer
public IEnumerable<SPMS_GanttChartRootModel> GenerateGanttChart() { List<SPMS_GanttChartModel> child_data = new List<SPMS_GanttChartModel>(); { using (SqlConnection con = new SqlConnection(Conn.MyConn())) { SqlCommand com = new SqlCommand("dbo.sp_SPMS_GanttChart 7078, 1", con); con.Open(); SqlDataReader reader = com.ExecuteReader(); while (reader.Read()) { SPMS_GanttChartModel value = new SPMS_GanttChartModel(); value.id = Convert.ToInt32(reader.GetValue(0)); value.start_date = Convert.ToString(reader.GetValue(1)); value.duration = Convert.ToInt32(reader.GetValue(2)); value.text = Convert.ToString(reader.GetValue(3)); child_data.Add(value); } } } List<SPMS_GanttChartRootModel> array = new List<SPMS_GanttChartRootModel>(); { SPMS_GanttChartRootModel value = new SPMS_GanttChartRootModel(); value.data = child_data; array.Add(value); }; return array; }
Current Output
[{ "data": [{ "id": 1, "start_date": "11/07/2017 08:00:00 AM", "duration": 23, "text": "Project #1" }, ... ] }]
Desired Output
{ "data": [{ "id": 1, "start_date": "11/07/2017 08:00:00 AM", "duration": 23, "text": "Project #1" }, ... ] }