解析JSON参数
{ 'jsonArray': [ { 'LevelId': '5E78C326345941B1BF7745A3792A9ABC', 'MinAge': '10', 'MaxAge': '15', 'ClassHour': '45', 'LevelName': ' 萌级' }, { 'LevelId': '3CAA2E0A188845688E384CF8104B8073', 'MinAge': '20', 'MaxAge': '25', 'ClassHour': '60', 'LevelName': '初级' }, { 'LevelId': '182809E741694EB18B1AF6CF6AEF0868', 'MinAge': '30', 'MaxAge': '35', 'ClassHour': '90', 'LevelName': ' 中级' } ] }
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Xml.Linq; namespace WebAPP.Controllers { public class IndexController : Controller { /// <summary> /// http://localhost:2290/Index/JsonTest1 /// </summary> [HttpGet] public JsonResult JsonTest1() { #region jsonString string jsonString = @" { 'jsonArray': [ { 'LevelId': '5E78C326345941B1BF7745A3792A9ABC', 'MinAge': '10', 'MaxAge': '15', 'ClassHour': '45', 'LevelName': ' 萌级' }, { 'LevelId': '3CAA2E0A188845688E384CF8104B8073', 'MinAge': '20', 'MaxAge': '25', 'ClassHour': '60', 'LevelName': '初级' }, { 'LevelId': '182809E741694EB18B1AF6CF6AEF0868', 'MinAge': '30', 'MaxAge': '35', 'ClassHour': '90', 'LevelName': ' 中级' } ] } "; #endregion //解析Json字符串 var jss = new System.Web.Script.Serialization.JavaScriptSerializer(); object obj = jss.DeserializeObject(jsonString); var dictObject = obj as Dictionary<string, object>; var array = dictObject["jsonArray"] as object[]; List<object> list = new List<object>(); for (int i = 0; i < array.Length; i++) { var dict = array[i] as Dictionary<string, object>; string LevelId = dict["LevelId"].ToString(); int MinAge = dict["MinAge"].ObjectToInt(); int MaxAge = dict["MaxAge"].ObjectToInt(); int ClassHour = dict["ClassHour"].ObjectToInt(); string LevelName = dict["LevelName"].ToString(); object data = new { LevelId, MinAge, MaxAge, ClassHour, LevelName }; list.Add(data); } return ReturnJsonResult(new { list }); }
/// <summary> /// 内容类型(Json) /// </summary> private static String ContentType = "application/json; charset=utf-8"; /// <summary> /// 返回 JsonResult /// </summary> /// <param name="data">要序列化的对象数据</param> public JsonResult ReturnJsonResult(object data) { return Json(data, ContentType, JsonRequestBehavior.AllowGet); } /// <summary> /// 返回 JsonResult /// </summary> /// <param name="data">要序列化的对象数据</param> /// <param name="behavior">指定是否允许来自客户端的 HTTP GET 请求</param> public JsonResult ReturnJsonResult(object data, JsonRequestBehavior behavior) { return Json(data, ContentType, behavior); } } }
打印信息
{"list":[ {"LevelId":"5E78C326345941B1BF7745A3792A9ABC","MinAge":10,"MaxAge":15,"ClassHour":45,"LevelName":"萌级"}, {"LevelId":"3CAA2E0A188845688E384CF8104B8073","MinAge":20,"MaxAge":25,"ClassHour":60,"LevelName":"初级"}, {"LevelId":"182809E741694EB18B1AF6CF6AEF0868","MinAge":30,"MaxAge":35,"ClassHour":90,"LevelName":"中级"} ]} obj Count = 1 [0]: {[jsonArray, System.Object[]]}
dictObject["jsonArray"] {object[3]} [0]: Count = 5 [1]: Count = 5 [2]: Count = 5
array {object[3]} [0]: Count = 5 [1]: Count = 5 [2]: Count = 5
array[i] Count = 5 [0]: {[LevelId, 5E78C326345941B1BF7745A3792A9ABC]} [1]: {[MinAge, 10]} [2]: {[MaxAge, 15]} [3]: {[ClassHour, 45]} [4]: {[LevelName, 萌级]} dict Count = 5 [0]: {[LevelId, 5E78C326345941B1BF7745A3792A9ABC]} [1]: {[MinAge, 10]} [2]: {[MaxAge, 15]} [3]: {[ClassHour, 45]} [4]: {[LevelName, 萌级]} data { LevelId = "5E78C326345941B1BF7745A3792A9ABC", MinAge = 10, MaxAge = 15, ClassHour = 45, LevelName = "萌级" } ClassHour: 45 LevelId: "5E78C326345941B1BF7745A3792A9ABC" LevelName: "萌级" MaxAge: 15 MinAge: 10
data.GetType().Name "<>f__AnonymousType11`5"
{ 'status': true, 'jsonArray': [ { 'CourseId': '77EE4FAC789541A2B704B647336D5CBD', 'CategoryId': 1, 'CourseCodeSet': 'Course002', 'CourseNameCn': '微米', 'CourseNameEn': 'WeiMi', 'ApplyClassNameCn': '微米班', 'ApplyClassNameEn': 'MiLuo Class', 'EnableState': 1, 'LevelArray': [ { 'CourseLevelId': '3CAA2E0A188845688E384CF8104B8073', 'LevelNameCn': '初级', 'LevelNameEn': 'Primary', 'MinAge': 2, 'MaxAge': 5, 'ClassHour': 90 }, { 'CourseLevelId': '182809E741694EB18B1AF6CF6AEF0868', 'LevelNameCn': '中级', 'LevelNameEn': 'Intermediate', 'MinAge': 2, 'MaxAge': 5, 'ClassHour': 90 }, { 'CourseLevelId': '924C12A2B9734535950EFAC1CB8056D7', 'LevelNameCn': '高级', 'LevelNameEn': 'Senior', 'MinAge': 2, 'MaxAge': 5, 'ClassHour': 90 } ] } ] }
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Xml.Linq; namespace WebAPP.Controllers { public class IndexController : Controller { /// <summary> /// http://localhost:2290/Index/JsonTest2 /// </summary> [HttpGet] public JsonResult JsonTest2() { #region jsonString string jsonString = @" { 'status': true, 'jsonArray': [ { 'CourseId': '77EE4FAC789541A2B704B647336D5CBD', 'CategoryId': 1, 'CourseCodeSet': 'Course002', 'CourseNameCn': '微米', 'CourseNameEn': 'WeiMi', 'ApplyClassNameCn': '微米班', 'ApplyClassNameEn': 'MiLuo Class', 'EnableState': 1, 'LevelArray': [ { 'CourseLevelId': '3CAA2E0A188845688E384CF8104B8073', 'LevelNameCn': '初级', 'LevelNameEn': 'Primary', 'MinAge': 2, 'MaxAge': 5, 'ClassHour': 90 }, { 'CourseLevelId': '182809E741694EB18B1AF6CF6AEF0868', 'LevelNameCn': '中级', 'LevelNameEn': 'Intermediate', 'MinAge': 2, 'MaxAge': 5, 'ClassHour': 90 }, { 'CourseLevelId': '924C12A2B9734535950EFAC1CB8056D7', 'LevelNameCn': '高级', 'LevelNameEn': 'Senior', 'MinAge': 2, 'MaxAge': 5, 'ClassHour': 90 } ] } ] } "; #endregion //解析Json字符串 var jss = new System.Web.Script.Serialization.JavaScriptSerializer(); object obj = jss.DeserializeObject(jsonString); var dictObject = obj as Dictionary<string, object>; var status = dictObject["status"]; var array = dictObject["jsonArray"] as object[]; List<object> list = new List<object>(); for (int i = 0; i < array.Length; i++) { var dict = array[i] as Dictionary<string, object>; string CourseId = dict["CourseId"].ToString(); int CategoryId = dict["CategoryId"].ObjectToInt(); string CourseCodeSet = dict["CourseCodeSet"].ToString(); string CourseNameCn = dict["CourseNameCn"].ToString(); string CourseNameEn = dict["CourseNameEn"].ToString(); string ApplyClassNameCn = dict["ApplyClassNameCn"].ToString(); string ApplyClassNameEn = dict["ApplyClassNameEn"].ToString(); int EnableState = dict["EnableState"].ObjectToInt(); var LevelArray = dict["LevelArray"]; object[] objLevelArray = dict["LevelArray"] as object[]; List<object> levelList = new List<object>(); for (int j = 0; j < objLevelArray.Length; j++) { var levelDict = objLevelArray[j] as Dictionary<string, object>; string CourseLevelId = levelDict["CourseLevelId"].ToString(); string LevelNameCn = levelDict["LevelNameCn"].ToString(); string LevelNameEn = levelDict["LevelNameEn"].ToString(); int MinAge = levelDict["MinAge"].ObjectToInt(); int MaxAge = levelDict["MaxAge"].ObjectToInt(); int ClassHour = levelDict["ClassHour"].ObjectToInt(); object dataLevel = new { CourseLevelId, LevelNameCn, LevelNameEn, MinAge, MaxAge, ClassHour }; levelList.Add(dataLevel); } object data = new { CourseId, CategoryId, CourseCodeSet, CourseNameCn, CourseNameEn, ApplyClassNameCn, ApplyClassNameEn, EnableState, levelList, LevelArray }; list.Add(data); } return ReturnJsonResult(new { list }); }
/// <summary> /// 内容类型(Json) /// </summary> private static String ContentType = "application/json; charset=utf-8"; /// <summary> /// 返回 JsonResult /// </summary> /// <param name="data">要序列化的对象数据</param> public JsonResult ReturnJsonResult(object data) { return Json(data, ContentType, JsonRequestBehavior.AllowGet); } /// <summary> /// 返回 JsonResult /// </summary> /// <param name="data">要序列化的对象数据</param> /// <param name="behavior">指定是否允许来自客户端的 HTTP GET 请求</param> public JsonResult ReturnJsonResult(object data, JsonRequestBehavior behavior) { return Json(data, ContentType, behavior); } } }
打印信息
obj
Count = 2
[0]: {[status, True]}
[1]: {[jsonArray, System.Object[]]}
status
true
dictObject["jsonArray"]
{object[1]}
[0]: Count = 9
array
{object[1]}
[0]: Count = 9
array[i]
Count = 9
[0]: {[CourseId, 77EE4FAC789541A2B704B647336D5CBD]}
[1]: {[CategoryId, 1]}
[2]: {[CourseCodeSet, Course002]}
[3]: {[CourseNameCn, 微米]}
[4]: {[CourseNameEn, WeiMi]}
[5]: {[ApplyClassNameCn, 微米班]}
[6]: {[ApplyClassNameEn, MiLuo Class]}
[7]: {[EnableState, 1]}
[8]: {[LevelArray, System.Object[]]}
dict["LevelArray"]
{object[3]}
[0]: Count = 6
[1]: Count = 6
[2]: Count = 6
objLevelArray[j]
Count = 6
[0]: {[CourseLevelId, 3CAA2E0A188845688E384CF8104B8073]}
[1]: {[LevelNameCn, 初级]}
[2]: {[LevelNameEn, Primary]}
[3]: {[MinAge, 2]}
[4]: {[MaxAge, 5]}
[5]: {[ClassHour, 90]}
dataLevel
{ CourseLevelId = "3CAA2E0A188845688E384CF8104B8073", LevelNameCn = "初级", LevelNameEn = "Primary", MinAge = 2, MaxAge = 5, ClassHour = 90 }
ClassHour: 90
CourseLevelId: "3CAA2E0A188845688E384CF8104B8073"
LevelNameCn: "初级"
LevelNameEn: "Primary"
MaxAge: 5
MinAge: 2
levelList
Count = 3
[0]: { CourseLevelId = "3CAA2E0A188845688E384CF8104B8073", LevelNameCn = "初级", LevelNameEn = "Primary", MinAge = 2, MaxAge = 5, ClassHour = 90 }
[1]: { CourseLevelId = "182809E741694EB18B1AF6CF6AEF0868", LevelNameCn = "中级", LevelNameEn = "Intermediate", MinAge = 2, MaxAge = 5, ClassHour = 90 }
[2]: { CourseLevelId = "924C12A2B9734535950EFAC1CB8056D7", LevelNameCn = "高级", LevelNameEn = "Senior", MinAge = 2, MaxAge = 5, ClassHour = 90 }
data
{ CourseId = "77EE4FAC789541A2B704B647336D5CBD", CategoryId = 1, CourseCodeSet = "Course002", CourseNameCn = "微米", CourseNameEn = "WeiMi", ApplyClassNameCn = "微米班", ApplyClassNameEn = "MiLuo Class", EnableState = 1, levelList = {System.Collections.Generic.List<object>}, LevelArray = {object[3]} }
ApplyClassNameCn: "微米班"
ApplyClassNameEn: "MiLuo Class"
CategoryId: 1
CourseCodeSet: "Course002"
CourseId: "77EE4FAC789541A2B704B647336D5CBD"
CourseNameCn: "微米"
CourseNameEn: "WeiMi"
EnableState: 1
LevelArray: {object[3]}
levelList: Count = 3

浙公网安备 33010602011771号