Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。那fastjson如何将map转为json?下面来我们就来给大家讲解一下这方面的内容。
代码如下:
//map转json对象 Mapmap = new HashMap<>(); map.put("age", 24); map.put("name", "cool_summer_moon"); JSONObject json = new JSONObject(map); //json对象转Map Mapmap = (Map)jsonObject;
1、简介
FastJson的介绍:
Fastjson是一个Java库,可以将Java对象转换为JSON格式,当然它也可以将JSON字符串转换为Java对象。
Fastjson可以操作任何Java对象,即使是一些预先存在的没有源码的对象。
FastJson的特点:
1.FastJson数度快,无论序列化和反序列化,都是当之无愧的fast
2.功能强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
3.零依赖(没有依赖其它任何类库)
FastJson的简单说明:
FastJson对于json格式字符串的解析主要用到了下面三个类:
1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换
2.JSONObject:fastJson提供的json对象
3.JSONArray:fastJson提供json数组对象
2、引入依赖(Spring相关略)
<dependency > <groupId>com.alibaba</groupId> < artifactId > fastjson < /artifactId> < version > 1.2 .28 < /version> < /dependency>
<!--扫描包-- > <context:component-scan base-package="com.ronybo.controller" /> < !--配置Spring注解驱动-- > <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 配置使用阿里巴巴的JSON转换器FASTJSON --> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
4、配置web.xml
<? xml version = "1.0" encoding = "UTF-8" ? > <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- 解决post乱码 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
5、编写Controller
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.alibaba.fastjson.JSON; import com.ronybo.vo.User; @RestController @RequestMapping("/test") public class TestController { @RequestMapping("/testFastJson") public User getUser(String userName, String password) { User user = new User(111, userName, password); System.out.println(JSON.toJSON(user)); return user; } }
6、编写index.html
<!DOCTYPE html > <html> <head> <title>index.html</title> <script type="text/javascript" src="js/jquery/jquery.min.js" charset="UTF-8"></script> </head> <body> <script type="text/javascript"> $.ajax({ url: "/fastjsondemo/test/testFastJson.do", data: {"userName":"小明","password":"123456"}, type: "post", success : function(response) { // 此时是一个JSON字符串,需要转为JSON对象 console.log(JSON.parse(response)); } }) </script> </body> </html>
控制台
浏览器
传到后台的数据:
后台响应的数据: 此时是一个JSON对象。
fastjson转换器就是按照以上的方法去操作的,还是很值得大家去研究的,另外,fastjson将map转为json还是很简单的,不会的程序员可以参考文章哦!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: