当前位置:   article > 正文

asp.net------C# MVC之接口返回json数据_asp.net返回json嵌套

asp.net返回json嵌套

step1:新建立一个mvc工程,建立相应的controller(此处按默认的Home建立了HomeController)

 

 

step2:修改HomeController中代码,如下:

  1. public ActionResult Index()
  2. {
  3. var data = new List<Object>();
  4. return Json(data, JsonRequestBehavior.AllowGet);
  5. }

此时返回的结果 :

 对应的json视图:

 

 

step3:将代码更改为

  1. public ActionResult Index()
  2. {
  3. var buildName = new List<Object>();
  4. var lineChart = new List<Object>();
  5. var data = new List<Object>();
  6. data.Add(new
  7. {
  8. Buildname = buildName,
  9. Linechart = lineChart
  10. });
  11. return Json(data, JsonRequestBehavior.AllowGet);
  12. }

效果如下:

 

 

step4:向buildName数组添加内容(数组形式)

代码:

  1. public ActionResult Index()
  2. {
  3. int[] table = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  4. var buildName = new List<Object>();
  5. var lineChart = new List<Object>();
  6. var data = new List<Object>();
  7. //向buildName中添加数组0,数组0内的元素为number类型
  8. var p = from p1 in table
  9. where p1 % 2 == 0
  10. select p1;
  11. buildName.Add(p);
  12. //向buildName中添加数组1,数组1内的元素为Object类型
  13. var q = from q1 in table
  14. where q1 % 3 == 0
  15. select new { id = q1 };
  16. buildName.Add(q);
  17. //向buildName中添加对象,对象的内同为数组1
  18. buildName.Add(new {id=q});
  19. data.Add(new
  20. {
  21. Buildname = buildName,
  22. Linechart = lineChart
  23. });
  24. return Json(data, JsonRequestBehavior.AllowGet);
  25. }

 

 

效果如下:

 

 

step5:向lineChart数组添加内容(数组形式)

①建立一个student类

  1. class Student
  2. {
  3. public int id { get; set; }
  4. public String name { get; set; }
  5. }

②建立student容器,实例化并赋值

  1. //建立student容器,并添加对象
  2. List<Student> s = new List<Student>();
  3. s.Add(new Student() { id = 1, name = "张三" });
  4. s.Add(new Student() { id = 2, name = "李四" });
  5. s.Add(new Student() { id = 3, name = "王五" });

③建立一个Employee类

  1. class Employee
  2. {
  3. public int e_id { get; set; }
  4. public String e_name { get; set; }
  5. }

④建立Employee容器,实例化并赋值

  1. List<Employee> s1 = new List<Employee>();
  2. s1.Add(new Employee() { e_id = 1, e_name = "工_张三" });
  3. s1.Add(new Employee() { e_id = 2, e_name = "工_李四" });
  4. s1.Add(new Employee() { e_id = 3, e_name = "工_王五" });

⑤筛选信息,并将info添加至lineChart数组中

  1. var info =
  2. from w in s
  3. join w1 in s1 on w.id equals w1.e_id
  4. where w.id == 1 || w.id == 2
  5. select new
  6. {
  7. id = w.id,
  8. stu_name=w.name,
  9. emp_name=w1.e_name
  10. };
  11. lineChart.Add(info);


完整代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. namespace jsonTest1.Controllers
  7. {
  8. class Student
  9. {
  10. public int id { get; set; }
  11. public String name { get; set; }
  12. }
  13. class Employee
  14. {
  15. public int e_id { get; set; }
  16. public String e_name { get; set; }
  17. }
  18. public class HomeController : Controller
  19. {
  20. //
  21. // GET: /Home/
  22. public ActionResult Index()
  23. {
  24. int[] table = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  25. var buildName = new List<Object>();
  26. var lineChart = new List<Object>();
  27. var data = new List<Object>();
  28. //向buildName中添加数组0,数组0内的元素为number类型
  29. var p = from p1 in table
  30. where p1 % 2 == 0
  31. select p1;
  32. buildName.Add(p);
  33. //向buildName中添加数组1,数组1内的元素为Object类型
  34. var q = from q1 in table
  35. where q1 % 3 == 0
  36. select new { id = q1 };
  37. buildName.Add(q);
  38. //向buildName中添加对象,对象的内同为数组1
  39. buildName.Add(new {id=q});
  40. //建立student容器,并添加对象
  41. List<Student> s = new List<Student>();
  42. s.Add(new Student() { id = 1, name = "张三" });
  43. s.Add(new Student() { id = 2, name = "李四" });
  44. s.Add(new Student() { id = 3, name = "王五" });
  45. //建立Employee容器,并添加对象
  46. List<Employee> s1 = new List<Employee>();
  47. s1.Add(new Employee() { e_id = 1, e_name = "工_张三" });
  48. s1.Add(new Employee() { e_id = 2, e_name = "工_李四" });
  49. s1.Add(new Employee() { e_id = 3, e_name = "工_王五" });
  50. //筛选信息,并将info添加至lineChart数组中
  51. var info =
  52. from w in s
  53. join w1 in s1 on w.id equals w1.e_id
  54. where w.id == 1 || w.id == 2
  55. select new
  56. {
  57. id = w.id,
  58. stu_name=w.name,
  59. emp_name=w1.e_name
  60. };
  61. lineChart.Add(info);
  62. data.Add(new
  63. {
  64. Buildname = buildName,
  65. Linechart = lineChart
  66. });
  67. return Json(data, JsonRequestBehavior.AllowGet);
  68. }
  69. }
  70. }

效果如下:

 

 

 

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号