Bootstrap

ABP入门系列(8)——Json格式化

ABP入门系列目录——学习Abp框架之实操演练
讲完了分页功能,这一节我们先不急着实现新的功能。来简要介绍下Abp中Json的用法。为什么要在这一节讲呢?当然是做铺垫啊,后面的系列文章会经常和Json这个东西打交道。

一、Json是干什么的

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

Json一般用于表示:
名称/值对
{"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}
数组
`{ "people":[ {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}, {"firstName":"Jason","lastName":"Hunter","email":"bbbb"}, {"firstName":"Elliotte","lastName":"Harold","email":"cccc"} ] }

二、Asp.net Mvc中的JsonResult

Asp.net mvc中默认提供了JsonResult来处理需要返回Json格式数据的情况。
一般我们可以这样使用:

public ActionResult Movies()
{
    var movies = new List<object>();

    movies.Add(new { Title = "Ghostbusters", Genre = "Comedy", ReleaseDate = new DateTime(2017,1,1)  });
    movies.Add(new { Title = "Gone with Wind", Genre = "Drama", ReleaseDate = new DateTime(2017, 1, 3) });
    movies.Add(new { Title = "Star Wars", Genre = "Science Fiction", ReleaseDate = new DateTime(2017, 1, 23) });

    return Json(movies, JsonRequestBehavior.AllowGet);
}

其中Json()是Controller基类中提供的虚方法。
返回的json结果格式化后为:

[
  {
    "Title": "Ghostbusters",
    "Genre": "Comedy",
    "ReleaseDate": "\/Date(1483200000000)\/"
  },
  {
    "Title": "Gone with Wind",
    "
;