前端接收后端传过来的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;
}

服务器端将复合json对象传回前端的更多相关文章

  1. 1*Json对象声明简单,复合,对象数组

    //简单JSON对象 function btn1_click() { var json = { "id": 1001, "name": "张三&quo ...

  2. 前端页面使用 Json对象与Json字符串之间的互相转换

    前言 在前端页面很多时候都会用到Json这种格式的数据,最近没有前端,后端的我也要什么都要搞,对于Json对象与Json字符串之间的转换终于摸清楚了几种方式,归纳如下! 一:Json对象转换为json ...

  3. SpringMVC 前端获得定义JSON对象的方法

    SpringMVC 前端获得定义JSON对象的方法: 可以使用map进行对象的创建,这样就会解析成键值对,不需要为前端专门定义对象.

  4. @requestbody---接受前端传json对象并绑定javabean

    @requestbody---接受前端传json对象并绑定javabean----https://blog.csdn.net/ljxbbss/article/details/74452326 最近代码 ...

  5. java后端无法接收到前端传递的json对象

    java后端无法接收到前端传递的json对象 一·可能是因为未使用@RequestBody 在Controller层中,要么使用@RestController要么使用@Controller+@@Req ...

  6. 大话前端解析Json对象

    一.对于标准的json对象如: var result=[{"flag":1,"macId":"2","mbId":0,& ...

  7. 在java中构建json对象,返回给前端页面

    // 给客户端返回一个json对象 StringBuilder sb = new StringBuilder("{"); sb.append("\"name\& ...

  8. 【前端_js】Json对象和Json字符串的区别

    转载1: Json对象和Json字符串的区别 转载2: JSON字符串与JSON对象的区别

  9. 最简单的前端获取后台的json值(后台怎么返回一个json对象到前台)

    (说一下这个外部包jackson一般不用了,现在大家都用马云儿子的FastJson 下面服务器代码我就不改了大家随意用什么外部包)2019.1.14日改 我使用了外部包jackson(杰克逊哈哈哈啊) ...

随机推荐

  1. RabbitMQ 基础概念介绍

    AMQP 消息模型 RabbitMQ 是基于 AMQP(高级消息队列协议)的一个开源实现,其内部实际也是 AMQP 的基本概念.

  2. vim common usage

    vim normal模式下 1.c+i+分隔符,删除分隔符里面的内容(不删除分隔符,c+a+分隔符则包括分隔符一起删掉) 如将光标位于'%s : %d years old ' 中,此时按c+i+'   ...

  3. IOS开发之关键字synchronized

    static Config * instance = nil; +(Config *) Instance { @synchronized(self)  { if(nil == instance)  { ...

  4. vue 接口统一管理

    在外部创建一个API文件夹,然后创建一个API.js  例如 const filmbanner = 'api/billboard/home?__t=1498823077473'; const film ...

  5. Class加载顺序

    原文:https://blog.saymagic.cn/2017/07/01/class-common-question.html 类的初始化顺序是怎样的? 我们尝试从class文件中找到答案.来看这 ...

  6. 简述HTTP报文请求方法和状态响应码

    1. Method 请求方法,表明客户端希望服务器对资源执行的动作: 1.1 GET 向服务器请求资源. 1.2 HEAD 和GET方法的行为类似,但服务器在响应中只返回首部,不会返回实体的主体部分. ...

  7. 4.model 字段

    一.字段名 字段名 类型 参数 AutoField(Field) - int自增列, 必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自 ...

  8. python爬虫框架—Scrapy安装及创建项目

    linux版本安装 pip3 install scrapy 安装完成 windows版本安装 pip install wheel 下载twisted,网址:http://www.lfd.uci.edu ...

  9. UvaLive 4917 Abstract Extract (模拟)

    题意: 给定一篇文章, 文章中有段落, 段落中有句子. 句子只会以'!' , '.' , '?' 结尾, 求出每段中含有与他下面同样是该段落中相同单词数最多的句子, 注意, 单词忽略大小写, 重复的单 ...

  10. Numpy第一课

    import numpy as np a = np.array([1,2,3]) print(a) # [1 2 3] a2 = np.array([[1, 2], [3, 4]]) print('a ...