最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot返回值轉成JSONString的處理方式

 更新時間:2022年06月18日 08:40:46   作者:wz_ling1991  
這篇文章主要介紹了springboot返回值轉成JSONString的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

返回值轉成JSONString的處理

主要需求描述

有些返回值中的null需要轉換成“”或[],另外有些返回值需要把null給屏蔽掉。

解決方法

一(很lowb)

所有的返回值均采用string,在返回值之前,自己特殊處理成JSONString,然后返回給前端即可。

二(比較正統(tǒng))

通過配置FastJsonConfig,配置類如下: 

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
  @Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    super.configureMessageConverters(converters);
    //1.定義一個convert轉換消息對象
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    //2.添加fastjson的配置信息,比如:是否要格式化返回json數(shù)據(jù)
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(
        SerializerFeature.PrettyFormat,
        SerializerFeature.WriteNullStringAsEmpty,
        SerializerFeature.DisableCircularReferenceDetect,
        SerializerFeature.WriteNullListAsEmpty
    );
    PropertyFilter propertyFilter = new PropertyFilter() {
      @Override
      public boolean apply(Object object, String name, Object value) {
        if (object instanceof MessageFor841 && value == null) {
          return false;
        }
        return true;
      }
    };
    fastJsonConfig.setSerializeFilters(propertyFilter);
    fastConverter.setFastJsonConfig(fastJsonConfig);
    converters.add(fastConverter);
  }
}

這里解釋一下PropertyFilter類中的apply方法,

首先3個參數(shù):

  • object:可以理解成需要轉成json的對象
  • name:字段名(屬性名)
  • value:字段值(屬性值)

返回值是一個boolean值,為true時,則對應轉成成jsonstring,為false時,則過濾掉。

這里類型為MessageFor841且它的屬性字段為null時返回false,表示此字段過濾掉。

其他類型null字段轉成""或[] 

JSON.toJSONString

后端想將HashMap類型數(shù)據(jù)返回成json字符串

即導入并使用JSON.toJSONString

使用前提

pom.xml

? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.alibaba</groupId>
? ? ? ? ? ? <artifactId>fastjson</artifactId>
? ? ? ? ? ? <version>1.2.28</version>
? ? ? ? </dependency>

使用頁需自己寫入下列語句,否則無法自行導入

import com.alibaba.fastjson.JSON;

使用

 HashMap<String, Object> data = new HashMap<>();
 List<MainMenu> mainMenus = menuDao.getMainMenus();
 data.put("data",mainMenus);
 data.put("status",200);
 String data_json = JSON.toJSONString(data);
 System.out.println("成功訪問!?。?);
 return data_json;

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

绵阳市| 乌鲁木齐县| 策勒县| 赫章县| 营口市| 馆陶县| 长白| 左贡县| 玛沁县| 青川县| 长寿区| 靖西县| 余干县| 九江市| 会昌县| 塔城市| 曲麻莱县| 汨罗市| 合肥市| 南投县| 卓尼县| 当阳市| 宁南县| 永嘉县| 彰化县| 游戏| 铜川市| 武夷山市| 扬州市| 南乐县| 共和县| 宕昌县| 新闻| 屏东县| 湖州市| 鄄城县| 铜陵市| 新乡县| 淳安县| 盘山县| 滁州市|