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

springboot返回值轉(zhuǎn)成JSONString的處理方式

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

返回值轉(zhuǎn)成JSONString的處理

主要需求描述

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

解決方法

一(很lowb)

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

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

通過(guò)配置FastJsonConfig,配置類如下: 

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
  @Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    super.configureMessageConverters(converters);
    //1.定義一個(gè)convert轉(zhuǎn)換消息對(duì)象
    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個(gè)參數(shù):

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

返回值是一個(gè)boolean值,為true時(shí),則對(duì)應(yīng)轉(zhuǎn)成成jsonstring,為false時(shí),則過(guò)濾掉。

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

其他類型null字段轉(zhuǎn)成""或[] 

JSON.toJSONString

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

即導(dǎo)入并使用JSON.toJSONString

使用前提

pom.xml

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

使用頁(yè)需自己寫入下列語(yǔ)句,否則無(wú)法自行導(dǎo)入

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;

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

相關(guān)文章

最新評(píng)論

元氏县| 涞源县| 三亚市| 恩平市| 格尔木市| 仪征市| 慈利县| 淮南市| 腾冲县| 龙岩市| 新源县| 丹寨县| 平遥县| 景泰县| 巧家县| 壶关县| 聊城市| 三都| 华宁县| 集安市| 耒阳市| 青龙| 台州市| 黑水县| 玛沁县| 德钦县| 龙里县| 永登县| 旬邑县| 聂荣县| 华坪县| 仁怀市| 南部县| 富蕴县| 永顺县| 泸水县| 宁阳县| 徐州市| 石门县| 法库县| 马尔康县|