3.springboot:完美使用FastJson解析xml数据

1.引入fastjson解析的依赖库

<!-- 引入fastjson解析的依赖库 -->
      <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
             <version>1.2.15</version>
      </dependency>

2.配置fastjion:两个方法:

 方法一:(1)启动类继承extends WebMvcConfigurerAdapter
                   (2)覆盖方法configureMessageConverters

代码如下:

public class App extends WebMvcConfigurerAdapter
{
    @Override
    public void configureMessageConverters(
            List<HttpMessageConverter<?>> converters) {
        super.configureMessageConverters(converters);
        //下面是重写的代码
        
        //先定义一个convert转换消息的对象
        FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
        //添加fastJson的配置信息,比如,是否需要格式化返回json数据
        FastJsonConfig fastJsonConfig=new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        //在convert中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);
        //将convert添加到converters中
        converters.add(fastConverter);
    }
    public static void main( String[] args )
    {
        /**
         * 在Main方法中启动我们的应用程序
         */
        System.out.println( "Hello World!" );
        SpringApplication.run(App.class, args);
       
    }
}

方法二:使用bean注入:

/**
     * 在这里我们使用@Bean注入fastJsonHttpMessageConvert
     * @return
     */
    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters(){
        //先定义一个convert转换消息的对象
        FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
        //添加fastJson的配置信息,比如,是否需要格式化返回json数据
        FastJsonConfig fastJsonConfig=new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        //在convert中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);
        HttpMessageConverter<?> converter=fastConverter;
        return new HttpMessageConverters(converter);
    }

3.测试:

Demo.class

    package com.zhaolixiang.spring_boot1;

import java.util.Date;

import com.alibaba.fastjson.annotation.JSONField;


/**
 * 测试实体类
 * @author hasee
 *
 */
public class Demo {
    private int id;
    private String name;
    //创建时间
    @JSONField(format="yyyy-MM-dd HH:mm")
    private Date createTime;
    
    /**
     * 现在不想显示备注信息
     * serialize:是否需要序列号属性
     */
    //备注信息
    @JSONField(serialize=false)
    private String remarks;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getRemarks() {
        return remarks;
    }
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
    
    
}

调用:

/**
     * Spring Boot默认使用的json解析框架是jackson,
     * 所以springboot底层帮我们把对象返回来一个json数据
     */
    @RequestMapping("/demo")
    public Demo getDemo(){
        Demo demo=new Demo();
        demo.setId(110);
        demo.setName("赵理想");
        demo.setCreateTime(new Date());
        demo.setRemarks("这是备注信息");
        return demo;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,174评论 19 139
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan阅读 9,790评论 2 7
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,159评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,546评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,486评论 25 709

友情链接更多精彩内容