国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为中国PE第一股,市值超1000亿元。 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

1) 国产开源软件要支持的

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.1</version>
</dependency>

2) spring没有提供相应的HttpMessageConverter可以自己写一个。

package com.alibaba.fastjson.spring.support;import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;import org.springframework.http.HttpInputMessage;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
import org.springframework.http.converter.AbstractHttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;public class MappingFastJsonHttpMessageConverter extends AbstractHttpMessageConverter<Object> {public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");// fastjson特性参数private SerializerFeature[] serializerFeature;public SerializerFeature[] getSerializerFeature() {return serializerFeature;}public void setSerializerFeature(SerializerFeature[] serializerFeature) {this.serializerFeature = serializerFeature;}public MappingFastJsonHttpMessageConverter() {super(new MediaType("application", "json", DEFAULT_CHARSET));}@Overridepublic boolean canRead(Class<?> clazz, MediaType mediaType) {// JavaType javaType = getJavaType(clazz);// return this.objectMapper.canDeserialize(javaType) &&// canRead(mediaType);return true;}@Overridepublic boolean canWrite(Class<?> clazz, MediaType mediaType) {// return this.objectMapper.canSerialize(clazz) && canWrite(mediaType);return true;}@Overrideprotected boolean supports(Class<?> clazz) {// should not be called, since we override canRead/Write insteadthrow new UnsupportedOperationException();}@Overrideprotected Object readInternal(Class<?> clazz, HttpInputMessage inputMessage)throws IOException, HttpMessageNotReadableException {ByteArrayOutputStream baos = new ByteArrayOutputStream();int i;while ((i = inputMessage.getBody().read()) != -1) {baos.write(i);}return JSON.parseArray(baos.toString(), clazz);}@Overrideprotected void writeInternal(Object o, HttpOutputMessage outputMessage)throws IOException, HttpMessageNotWritableException {String jsonString = JSON.toJSONString(o, serializerFeature);OutputStream out = outputMessage.getBody();out.write(jsonString.getBytes(DEFAULT_CHARSET));out.flush();}}

3) 配置

<mvc:annotation-driven><mvc:message-converters register-defaults="true" ><bean class="com.alibaba.fastjson.spring.support.MappingFastJsonHttpMessageConverter"><property name="supportedMediaTypes" value="application/json" /><property name="serializerFeature"><array><value>WriteMapNullValue</value><value>QuoteFieldNames</value></array></property></bean></mvc:message-converters>
</mvc:annotation-driven>

转载于:https://www.cnblogs.com/AloneSword/p/4097941.html

SpringMVC杂记(1) 使用阿里巴巴的fastjson相关推荐

  1. SpringMVC杂记

    SpringWebflow杂记(一) 框架初探,与SpringMVC的集成 SpringMVC杂记(一) 文件上传 SpringMVC杂记(二) 使用@ResponseBody出现乱码解决方法 Spr ...

  2. 阿里巴巴的FastJson数据解析介绍

    阿里巴巴的FastJson数据解析介绍 本文简单介绍一下阿里巴巴的FastJson的json数据解析的简单用法. FastJson据说是目前Json数据解析最快捷的工具,虽然传闻会有一些bug,但是基 ...

  3. Json转换Bean太过复杂?试试阿里巴巴的FastJSON

    阿里巴巴的JSON和BEAN的快速转化库FastJSON FastJSON 阿里巴巴JSON库:fastJson,既能解析JSON为Bean对象,又能转换Bean对象为JSON字符串]() 为什么使用 ...

  4. Jackson、FastJson快速入门(整合SpringMVC)

    目录 1. 什么是 JSON 2. JSON 语法规则 3. JSON 与 JS 对象的关系 4. JSON 和 JS 对象互转 5. Jackson-数据格式转换 1. 环境搭建 2. 对象转jso ...

  5. mvc json 乱码_你了解JSON吗?——Jackson、FastJson在SpringMVC中的简单使用

    原文参考分享自CSDN:你了解JSON吗?--Jackson.FastJson在SpringMVC中的简单使用_欢迎来到 Baret~H 的博客-CSDN博客 1. 什么是 JSON JSON(Jav ...

  6. SpringMVC整合fastjson、easyui 乱码问题

    一.框架版本 SpringMVC:3.1.1.RELEASE fastjson:1.2.7 easyui :1.4.5 二.乱码现象 Action中使用@ResponseBody返回Json数据   ...

  7. SpringMVC(三)——JSON

    文章目录 1. 什么是JSON 2. JSON 和 JavaScript 对象的关系 3. Controller返回JSON数据 3.1 使用Jackson解析 3.2 使用FastJson解析 1. ...

  8. SpringMVC(笔记)

    MVC简介 普通的web项目每次都要进行手动的把jar包导进去,否则会报500,class not found [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VstjH ...

  9. Java学习笔记13-1——SpringMVC

    文章目录 1.什么是MVC 回顾Servlet 2.什么是SpringMVC 概述 中心控制器 SpringMVC执行原理 3.第一个SpringMVC 程序 使用XML配置实现 使用注解实现 4.控 ...

最新文章

  1. Logistics回归数据集(testSet.txt)《机器学习实战》【美】Peter Harrington python3.6+pycharm完美实现代码
  2. access2003安装包百度云_《逗比羊电影》_逗比羊电影最新版下载
  3. 用AI击破传统行业痛点 “百度大脑行业创新论坛”将提7大行业解决方案
  4. JavaScript中的位置协议属性
  5. mysql or全表_mysql or条件可以使用索引而避免全表
  6. Linux 金字塔 的shell命令,linux下保留文件系统下剩余指定数目文件的shell脚本
  7. 漫话:如何给女朋友解释华为鸿蒙OS是怎样实现跨平台的?
  8. STM32的EXTI相关学习笔记
  9. Extract Any Audio Pro for Mac - mp3格式转换器
  10. Google C++测试框架系列高级篇:第一章 更多关于断言的知识
  11. php redis 令牌桶算法
  12. 汽车轮毂识别定位检测
  13. iOS开发中使用代码控制横竖屏的切换
  14. CVE-2017-11176: A step-by-step Linux Kernel exploitation (part 3/4)
  15. 腾讯云服务器+RAKSmart国内外服务器使用记录
  16. 一个炫酷的opengles2.0翻页效果(安卓上opengles2.0 翻书效果附源码)
  17. PromQL 直方图 跟踪请求的延迟或响应大小 99%的请求是在多少延迟下完成的?
  18. 北大计算机图灵班,北大首期“图灵班”开班
  19. Oracle 存储过程 问题记录
  20. 入坑刷机?手机各大模式了解一下

热门文章

  1. Java中抽象类和接口的区别(来源一)
  2. 小白用GitHub快速搭建自己的网站,可访问,不用买域名、服务器
  3. 如何动态修改select的值_SQL成长记录02-SELECT语句
  4. python输出星号等腰三角形_python输出星号字符组成的等边三角形
  5. GTJ2018如何导出全部工程量_工程遇到带E的钢筋应该如何处理?
  6. 关于Java的静态初始化块
  7. 日本区块链项目Jasmy与索尼VAIO联合发售笔记本电脑
  8. Kava将于下午2时重新启动Kava Chain
  9. IO流——字节流、字符流
  10. memcache未授权访问漏洞