• 服务器端将复合json对象传回前端


    前端接收后端传过来的JSON对象,对前端来说,传过来的确实就是JSON对象;但后端,类型则灵活得多,可以是IList<>等类型,当然也可以是newtonsoft的JObject类型。反正在后端,传达的参数类型很多,到达前端后,都变成了JSON对象。

    见拙作:http://blog.csdn.net/leftfist/article/details/42404989 (JSON参数 )

    其中原因,固然是估计后端(asp.net)做了处理,将多种数据自动转换:

    config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));//改为JSON方式  

    另一方面,也是因为JSON类型确实强,跟XML一样,可以描述各种各样的数据格式。

    这里又对后端将JSON作为参数传递做一些记录:

    比如说,我前端用easyUI的datagrid,要分页,那么传递给前端的数据格式,应该是这样的:

    {"total":106,"rows":[{},{},{}.....]}

    那么后端该怎么生成这种格式呢?

    有代码有J8:


    using Newtonsoft.Json;
    
    [System.Web.Http.HttpGet]
    public JObject GetTags(string account)
    {
        JObject jobj = new JObject();
    
    	//ViewTag是自定义类
        IList<ViewTag> list = customViewService.GetTags(ProjectId,account);
        jobj.Add("total", (JToken)list.Count());
        jobj.Add("rows", JArray.FromObject(list));
    
        return jobj;
    }
    


  • 相关阅读:
    JavaWeb学习笔记(3)
    JavaWeb学习笔记(2)
    JavaWeb学习笔记(1)
    Java学习笔记(20)
    Java学习笔记(19)
    Java学习笔记(18)
    Java学习笔记(17)
    Java学习笔记(16)
    Java学习笔记(15)
    Java学习笔记(14)
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257801.html
Copyright © 2020-2023  润新知