文档章节

SpringMVC对于已经是json字符串的输出

火化十
 火化十
发布于 2016/04/19 14:33
字数 369
阅读 22
收藏 0
点赞 1
评论 0

SpringMVC常规情况下返回json需要把数据放入某一个对象中,然后转换成JSON格式

 有时候会有取到的值,本身已经是一个序列化后的JSON字符串了,意思已经是一个String了! 如果还是什么都按即有的办法做,Spring输出时会把这个纯字符串,当作JSON的Value来处理,会在返回的值外面加上引号如:

"{\"name\":\"dayun\", \"type\":\"C234\"}"


这时候前端JS就不认识这是个对象了,认为就是一个普通的字符串,你需要手动的转换下

var str="{\"name\":\"dayun\", \"type\":\"C234\"}"
var obj=JSON.parse(str);
obj.name

既然结果已经是现成的了,为什么还要再去转下,况且还是不对的!前端还更麻烦!


解决办法!

思路是直接将值写进response里!但要绕过SpringMVC自动对request的检查,也就跳过了在配置中 “

messageConverters” 的作用,不会去自动转一遍JSON了

@RequestMapping(value="/jefly",method=RequestMethod.GET)
public void beforeeee(@RequestBody(required=false)HttpServletRequest request,HttpServletResponse response) throws Exception{
	response.setContentType("application/json; charset=UTF-8");
	response.getWriter().print("{\"name\":\"dayun\", \"type\":\"C234\"}");
}
  1. 方法不需要返回值,因为是直接写进response

  2. 参数request前加上 @RequestBody(required=false) 表示不执行默认的mvc会写进去的设定


这样返回的结果就OK了,JS可以直接拿到的是一个对象

© 著作权归作者所有

共有 人打赏支持
火化十
粉丝 0
博文 1
码字总数 369
作品 0
徐汇
程序员
疯狂Spring Cloud连载(11)——Feign的编码器与解码器

本文节选自《疯狂Spring Cloud微服务架构实战》 京东购买地址:https://item.jd.com/12256011.html 当当网购买地址:http://product.dangdang.com/25201393.html Spring Cloud教学视频:htt...

杨大仙的程序空间
2017/10/23
0
4
【转】Ajax响应中文乱码 [SpringMVC使用@ResponseBody处理Ajax请求]

Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。 Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用r......

一堆BUG
2013/09/10
0
0
Springmvc中@ResponseBody和@RequestBody的使用

springmvc中通过使用jackson配置来处理springmvc对json的支持,通过@ResponseBody来将后台对象转成json对象传给调用者,通过@RequestBody来将调用者传过来的json字符串转换为后台使用的对象具...

CsOH913
2016/01/17
115
0
SpringMVC: HttpMessageConverter消息转换器机制

1、概述 在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转 换,底层这种灵活的消息转换机制,就是Spring3.x中新引入的HttpMessage...

_Roger_
2015/11/22
0
0
Sprig MVC AJAX提交数据整理

标签: 在使用SpringMVC+AJAX提交数据的时候一直提交不成功,发现自己对于SpringMVC AJAX提交数据的认知完全是错误的,重新学习整理。 什么是JSON对象/字符串 JSON对象: 这种格式的叫JSON对象...

化烟雨
2017/11/28
0
0
springMVC各类视图输出实例分析

模板视图 FreeMarkerViewResolver 、 VolocityViewResolver 这两个视图解析器都是 UrlBasedViewResolver 的子类。 FreeMarkerViewResolver 会把 Controller 处理方法返回的逻辑视图解析为 Fr...

~少司命~
2017/10/31
0
0
Spring的ResponseBody和RestController注解返回的json数据不是json字符串,而是json对象

今天在上班的时候,因为要涉及到springmvc写json接口,通过ajax写数据到前端,然后就发现一个很神奇的事情。 当我使用@RestController或者@ResponseBody的时候,前端拿到的数据如下图: 很显...

一滴水的坚持
07/14
0
0
spring security 3中关于ajax的处理

在spring security 3中,对于某些需要保护的url,可以很容易地实现当没权限的时候, redirect到一个页面(比如自定义的404.jsp页面)进行显示没权限的信息; 但有的时候,必须要对一些AJAX的...

jackyrong
2013/01/16
0
0
SpringMVC源码剖析(五)-消息转换器HttpMessageConverter

概述 在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,底层这种灵活的消息转换机制,就是Spring3.x中新引入的HttpMessageConv...

相见欢
2013/10/28
0
20
判断JSON是否为空 (用spring mvc @ResponseBody 自动返回的json串 )

判断JSON是否为空 (用spring mvc @ResponseBody 自动返回的json串 ) 知识分类:EXTJS spring mvc json 记录时间: 20150708 简单描述:用json.length 属性长度来判断是否为空,在此过程中s...

AnyLiem
2015/07/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

高效编写Dockerfile的几条准则

概述 Dockerfile 是专门用来进行自动化构建镜像的编排文件(就像Jenkins 2.0时代的Jenkinsfile是对Jenkins的Job和Stage的编排一样),我们可以通过 docker build 命令来自动化地从 Dockerfi...

小致dad
59分钟前
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
9
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
9
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
198
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部