C# Json传值与解析

最近接触了工作室的项目,觉得一个功能的实现有点不好,心想不能就动手改了下,做了才知道我的js是多么的渣,功能是这样的:

C# Json传值与解析

我要实现的功能就是当选择学院时,就放松get请请求到后台,后台返回json信息再来填充班级的信息

C#后台代码:

public string ClassToJson( List<Class> Class)
{
var sb = new StringBuilder();
sb.Append("[");
if (Class != null)
{ foreach (var item in Class)
{
sb.Append("{");
sb.AppendFormat("\"Id\":\"{0}\",\"Name\":\"{1}\"", item.Id, item.Name);
sb.Append("}");
sb.Append(",");
}
if (sb.Length > )
sb.Remove(sb.Length - , ); }
sb.Append("]");
return sb.ToString();
}

传到界面的就是包括Class的ID和Name,需要注意的是要用\''不然传回去后就不能得到"ClassID":""之类的信息

JSON传值C#代码:

        [HttpGet]
public ActionResult FindClassesByAcademy(string academyName)
{
var Class = (List<Class>) service.GetClassesByAcademy(academyName);
return Json(service.ClassToJson(Class),JsonRequestBehavior.AllowGet);
}

接下就是View上的代码了:

 $.get("/Admin/Student/FindClassesByAcademy", { "academyName": academyName }, function (data) {
var Class = JSON.parse(data);
for (var i = 0; i < Class.length; i++) {
$('select#ClassesId').append("<option value=" + Class[i].Id + ">" + Class[i].Name + "</option>");
}
});

注意一定要用JSON.parse来解析Json字符串之前一直用的是stringify老是出错,看了下资料才知道实在是学的太少,parse是JSON字符串解析为原生的js值,而stringify是把js对象序列化为JSON字符串。

革命尚未成功,还得不断努力 C# Json传值与解析C# Json传值与解析

上一篇:font-face 使用


下一篇:WebDriverException:Element is not clickable at point - selenium执行过程中遇到的相关报错