springmvc返回json以及前端解析json

json格式

在JSON中,有两种结构:对象和数组


    1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。例如:


    var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};


    2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间运用 “,”(逗号)分隔。

前端解析json

springmvc想要返回json类型数据时,需要在方法或者返回参数上加上@ResponseBody

加上responsebody后,会将方法返回的值加入到HTTP response body中

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

注意:如果前端ajax设置返回的类型为text,那么返回的json会以字符串格式返回,如果设置为json,那么json字符串会自动被转化为json对象返回,下面案例都是设置返回类型为json

如果想要手动将json字符串转化为json对象,有以下方法

var obj = eval('(' + str + ')');      ,str为json字符串

var obj = JSON.parse(str);

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

解析json的几种案例

如果返回的是String,那么前端可直接接收到string类型的数据


如果返回的是对象类型的数据,那么前端接收到的是一个json对象,如果要取他的属性值,可以直接通过对象名.属性名获取。

例,返回一个user对象,前端获得的是



如果返回的是list集合类型的数据,那么前端接收到的是一个json数组,如果要获取他的值,通过数组名【下标】.属性名就可获取

例,返回一个List<User>对象,前端获取的是


如果返回的是map类型的数据,那么前端接收的是一个大的json对象,如果要获取他的值,通过对象名.属性名会获取到大的对象中的属性值对应的小的对象,通过对象名.属性名.属性名可直接获取到小对象中的属性值

例,返回一个map对象,前端获取的是


不要忘记若要返回json数据,需要在配置文件中配置<mvc:annotation-driven/>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,208评论 0 13
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,342评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 哦,朋友 我和你一样 满心欢喜的时候 怀想春暖花开 总想在辽阔的天空 做一只振翅的鸟 不要很高,可以飞 在愁苦盈怀...
    阿塔尼斯阅读 365评论 0 0
  • 高中的生活仿佛过的很快,这是我在上海读大学时最大的感触。然而实际上,上海生活的节奏或许比北京还要快一些,这可以从每...
    小飞机不会飞阅读 892评论 0 1