step1:新建立一個mvc工程,建立相應的controller(此處按默認的Home建立了HomeController)
step2:修改HomeController中代碼,如下:
public ActionResult Index()
{
var data = new List<Object>();
return Json(data, JsonRequestBehavior.AllowGet);
}
此時返回的結果 :
對應的json視圖:
step3:將代碼更改為
public ActionResult Index()
{
var buildName = new List<Object>();
var lineChart = new List<Object>();
var data = new List<Object>();
data.Add(new
{
Buildname = buildName,
Linechart = lineChart
});
return Json(data, JsonRequestBehavior.AllowGet);
}
效果如下:
step4:向buildName數組添加內容(數組形式)
代碼:
public ActionResult Index()
{
int[] table = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var buildName = new List<Object>();
var lineChart = new List<Object>();
var data = new List<Object>();
//向buildName中添加數組0,數組0內的元素為number類型
var p = from p1 in table
where p1 % 2 == 0
select p1;
buildName.Add(p);
//向buildName中添加數組1,數組1內的元素為Object類型
var q = from q1 in table
where q1 % 3 == 0
select new { id = q1 };
buildName.Add(q);
//向buildName中添加對象,對象的內同為數組1
buildName.Add(new {id=q});
data.Add(new
{
Buildname = buildName,
Linechart = lineChart
});
return Json(data, JsonRequestBehavior.AllowGet);
}
效果如下:
step5:向lineChart數組添加內容(數組形式)
①建立一個student類
class Student
{
public int id { get; set; }
public String name { get; set; }
}
②建立student容器,實例化並賦值
//建立student容器,並添加對象
List<Student> s = new List<Student>();
s.Add(new Student() { id = 1, name = "張三" });
s.Add(new Student() { id = 2, name = "李四" });
s.Add(new Student() { id = 3, name = "王五" });
③建立一個Employee類
class Employee
{
public int e_id { get; set; }
public String e_name { get; set; }
}
④建立Employee容器,實例化並賦值
List<Employee> s1 = new List<Employee>();
s1.Add(new Employee() { e_id = 1, e_name = "工_張三" });
s1.Add(new Employee() { e_id = 2, e_name = "工_李四" });
s1.Add(new Employee() { e_id = 3, e_name = "工_王五" });
⑤篩選信息,並將info添加至lineChart數組中
var info =
from w in s
join w1 in s1 on w.id equals w1.e_id
where w.id == 1 || w.id == 2
select new
{
id = w.id,
stu_name=w.name,
emp_name=w1.e_name
};
lineChart.Add(info);
完整代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace jsonTest1.Controllers
{
class Student
{
public int id { get; set; }
public String name { get; set; }
}
class Employee
{
public int e_id { get; set; }
public String e_name { get; set; }
}
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
int[] table = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var buildName = new List<Object>();
var lineChart = new List<Object>();
var data = new List<Object>();
//向buildName中添加數組0,數組0內的元素為number類型
var p = from p1 in table
where p1 % 2 == 0
select p1;
buildName.Add(p);
//向buildName中添加數組1,數組1內的元素為Object類型
var q = from q1 in table
where q1 % 3 == 0
select new { id = q1 };
buildName.Add(q);
//向buildName中添加對象,對象的內同為數組1
buildName.Add(new {id=q});
//建立student容器,並添加對象
List<Student> s = new List<Student>();
s.Add(new Student() { id = 1, name = "張三" });
s.Add(new Student() { id = 2, name = "李四" });
s.Add(new Student() { id = 3, name = "王五" });
//建立Employee容器,並添加對象
List<Employee> s1 = new List<Employee>();
s1.Add(new Employee() { e_id = 1, e_name = "工_張三" });
s1.Add(new Employee() { e_id = 2, e_name = "工_李四" });
s1.Add(new Employee() { e_id = 3, e_name = "工_王五" });
//篩選信息,並將info添加至lineChart數組中
var info =
from w in s
join w1 in s1 on w.id equals w1.e_id
where w.id == 1 || w.id == 2
select new
{
id = w.id,
stu_name=w.name,
emp_name=w1.e_name
};
lineChart.Add(info);
data.Add(new
{
Buildname = buildName,
Linechart = lineChart
});
return Json(data, JsonRequestBehavior.AllowGet);
}
}
}
效果如下: