在mvc4里面用json格式写一个数据显示在DataGrid里

问题描述:

最近公司要我学习json格式,用json格式来进行数据显示,不知道怎么做

@{
Layout = null;
}

<!DOCTYPE html>




PurchaseOrderDetail

<script src="~/Scripts/jquery.min.js"></script>
<script src="~/Scripts/jquery.easyui.min.js"></script>
<script type="text/javascript">
    $(function () {

        $('#List2').datagrid({
            title: 'Checkbox selection on DataGrid',
            url: 'GetPurchaseOrder',
            method: 'get', //默认是post,不允许对静态文件访问
            width: '700',
            iconCls: 'icon-save',
            dataType: "json",
            fitColumns: true,
            rownumbers: true, //是否加行号 
            pagination: true, //是否显式分页 
            pageSize: 15, //页容量,必须和pageList对应起来,否则会报错 
            pageNumber: 2, //默认显示第几页 
            pageList: [15, 30, 45],//分页中下拉选项的数值 
            columns: [[
                { field: 'ck', checkbox: true },
                { field: 'PKID', title: 'id' },
                { field: 'REAL_NAME', title: '姓名' },
                { field: 'MOBILE', title: '手机号码' },
                { field: 'STAFF_CODE', title: '编号' }                
            ]],
            singleSelect: false, //允许选择多行
            selectOnCheck: true,//true勾选会选择行,false勾选不选择行, 1.3以后有此选项
            checkOnSelect: true //true选择行勾选,false选择行不勾选, 1.3以后有此选项
        });
    });
</script>








ZG_ERPEntities erp = new ZG_ERPEntities();

public JsonResult GetPurchaseOrder(int? page, int? rows)
{
page = page == null ? 1 : page;
rows = rows == null ? 1 : rows;
List list = erp.TSYS_USER.OrderBy(a=>a.PKID).Skip((Convert.ToInt32(page) - 1) * Convert.ToInt32(rows)).Take( Convert.ToInt32(rows)).ToList();

var json = new
{
total = erp.TSYS_USER.Count(),
rows = (from r in list
select new TSYS_USER()
{
PKID=r.PKID,
REAL_NAME=r.REAL_NAME,
MOBILE=r.MOBILE,
STAFF_CODE=r.STAFF_CODE
}).ToArray()
};
return Json(json, JsonRequestBehavior.AllowGet);
}


json 是用于数据的传输方便。可以实现跨语言,是一个标准,比如一个 任意一个java 对象都可以转为json 字符串进行传输,如果你跟其他平台对接的话,
你总不能传个java 对象过去吧,他们不知道java 对象是什么鬼(其他语言无法识别)。这时候json就起作用了,
{} 表示一个json对象,[] 表示一个数据,数据都是用, 分割。如: {"data":"1","array":["11","22"]}
这样定义了规范就可以实现数据对接的规范性了。如果你与其他平台对接就可以用jar包(网上把对象转为json 的jar 有很多)将对象变成json字符串
再传输,如果是传到前台去,在前台也可以用jquery 的方法解析还原成一个对象

有了一个抽像的理解,谢谢大神了