亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用JSON.toJSONString格式化成json字符串時(shí)保留null屬性

 更新時(shí)間:2022年06月18日 09:08:02   作者:qq_34412985  
這篇文章主要介紹了使用JSON.toJSONString格式化成json字符串時(shí)保留null屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

JSON.toJSONString格式化成json字符串時(shí)保留null屬性

使用阿里的

com.alibaba.fastjson.JSON

格式化時(shí),默認(rèn)null屬性會(huì)被過濾掉,可以設(shè)置不過濾null

public static String parseScriptJsonStringWithNullValue(Object obj) {?
? ?if (obj == null || (obj instanceof Undefined)) {?
? ? ? return null;?
? ?}?
? ?return JSON.toJSONString(obj, new SerializeFilter[]{scriptArrayFilter}, SerializerFeature.WriteMapNullValue);?
}

指定這個(gè)參數(shù)即可

SerializerFeature.WriteMapNullValue

屬性說明

QuoteFieldNames———輸出key時(shí)是否使用雙引號(hào),默認(rèn)為true

WriteMapNullValue———是否輸出值為null的字段,默認(rèn)為false

WriteNullNumberAsZero———數(shù)值字段如果為null,輸出為0,而非null

WriteNullListAsEmpty———List字段如果為null,輸出為[],而非null

WriteNullStringAsEmpty———字符類型字段如果為null,輸出為”“,而非null

WriteNullBooleanAsFalse———Boolean字段如果為null,輸出為false,而非null

例子

String ret = JSON.toJSONStringWithDateFormat(returnValue, "yyyy-MM-dd HH:mm:ss",
? ? ? ? ? ? ? ? SerializerFeature.PrettyFormat,
? ? ? ? ? ? ? ? ? ? // 保留map空的字段
? ? ? ? ? ? ? ? ? ? SerializerFeature.WriteMapNullValue,
? ? ? ? ? ? ? ? ? ? // 將String類型的null轉(zhuǎn)成""
? ? ? ? ? ? ? ? ? ? SerializerFeature.WriteNullStringAsEmpty,
? ? ? ? ? ? ? ? ? ? // 將Number類型的null轉(zhuǎn)成0
? ? ? ? ? ? ? ? ? ? SerializerFeature.WriteNullNumberAsZero,
? ? ? ? ? ? ? ? ? ? // 將List類型的null轉(zhuǎn)成[]
? ? ? ? ? ? ? ? ? ? SerializerFeature.WriteNullListAsEmpty,
? ? ? ? ? ? ? ? ? ? // 將Boolean類型的null轉(zhuǎn)成false
? ? ? ? ? ? ? ? ? ? SerializerFeature.WriteNullBooleanAsFalse,
? ? ? ? ? ? ? ? ? ? // 避免循環(huán)引用
? ? ? ? ? ? ? ? ? ? SerializerFeature.DisableCircularReferenceDetect
? ? ? ? ? ? ? ? );

處理返回結(jié)果中字段為空或?yàn)閚ull,不展示字段的問題(字段展示不全)

package com.aiqin.mgs.market.api.config;?
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
?
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
?
/**
?* description: fastjson處理返回的參數(shù)為null、或者不返回
?* date: 2019/11/22 15:03
?* author: hantao
?* version: 1.0
?* springboot 處理返回結(jié)果中字段為空或?yàn)閚ull,不展示字段的問題(字段展示不全)
?*/
@Configuration
public class FastJsonConfiguration extends WebMvcConfigurationSupport {
?
? ? /**
? ? ?* 使用阿里 fastjson 作為JSON MessageConverter
? ? ?* @param converters
? ? ?*/
? ? @Override
? ? public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
? ? ? ? FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
? ? ? ? FastJsonConfig config = new FastJsonConfig();
? ? ? ? config.setSerializerFeatures(
? ? ? ? ? ? ? ? // 保留map空的字段
? ? ? ? ? ? ? ? SerializerFeature.WriteMapNullValue,
? ? ? ? ? ? ? ? // 將String類型的null轉(zhuǎn)成""
? ? ? ? ? ? ? ? SerializerFeature.WriteNullStringAsEmpty,
? ? ? ? ? ? ? ? // 將Number類型的null轉(zhuǎn)成0
? ? ? ? ? ? ? ? SerializerFeature.WriteNullNumberAsZero,
? ? ? ? ? ? ? ? // 將List類型的null轉(zhuǎn)成[]
? ? ? ? ? ? ? ? SerializerFeature.WriteNullListAsEmpty,
? ? ? ? ? ? ? ? // 將Boolean類型的null轉(zhuǎn)成false
? ? ? ? ? ? ? ? SerializerFeature.WriteNullBooleanAsFalse,
? ? ? ? ? ? ? ? // 避免循環(huán)引用
? ? ? ? ? ? ? ? SerializerFeature.DisableCircularReferenceDetect);
?
? ? ? ? converter.setFastJsonConfig(config);
? ? ? ? converter.setDefaultCharset(Charset.forName("UTF-8"));
? ? ? ? List<MediaType> mediaTypeList = new ArrayList<>();
? ? ? ? // 解決中文亂碼問題,相當(dāng)于在Controller上的@RequestMapping中加了個(gè)屬性produces = "application/json"
? ? ? ? mediaTypeList.add(MediaType.APPLICATION_JSON);
? ? ? ? converter.setSupportedMediaTypes(mediaTypeList);
? ? ? ? converters.add(converter);
? ? }
?
? ? /**
? ? ?* 整合了swagger需要配置swagger攔截
? ? ?* @param registry
? ? ?*/
? ? @Override
? ? public void addResourceHandlers(ResourceHandlerRegistry registry) {
? ? ? ? registry.addResourceHandler("swagger-ui.html","index.html").addResourceLocations("classpath:/META-INF/resources/");
? ? ? ? registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
? ? ? ? registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
? ? ? ? registry.addResourceHandler("/static/**").addResourceLocations("classpath:/META-INF/resources/static/");
? ? }?
}

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

相關(guān)文章

  • 一篇文章帶你理解Java Spring三級(jí)緩存和循環(huán)依賴

    一篇文章帶你理解Java Spring三級(jí)緩存和循環(huán)依賴

    這篇文章主要介紹了淺談Spring 解決循環(huán)依賴必須要三級(jí)緩存嗎,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • SpringMVC 方法四種類型返回值總結(jié)(你用過幾種)

    SpringMVC 方法四種類型返回值總結(jié)(你用過幾種)

    這篇文章主要介紹了SpringMVC 方法四種類型返回值總結(jié)(你用過幾種),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • Spring實(shí)現(xiàn)泛型注入的示例詳解

    Spring實(shí)現(xiàn)泛型注入的示例詳解

    Spring?4.0版本中更新了很多新功能,其中比較重要的一個(gè)就是對(duì)帶泛型的Bean進(jìn)行依賴注入的支持。本文將通過實(shí)例詳細(xì)講講Spring如何實(shí)現(xiàn)泛型注入,需要的可以參考一下
    2022-07-07
  • 如何通過Java打印Word文檔

    如何通過Java打印Word文檔

    這篇文章主要介紹了如何通過Java打印Word文檔,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Java的云打印Lodop

    Java的云打印Lodop

    這篇文章主要介紹了Java的云打印Lodop 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • Springboot如何通過流返回文件

    Springboot如何通過流返回文件

    這篇文章主要介紹了Springboot如何通過流返回文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 詳解mybatis中association和collection的column傳入多個(gè)參數(shù)問題

    詳解mybatis中association和collection的column傳入多個(gè)參數(shù)問題

    這篇文章主要介紹了詳解mybatis中association和collection的column傳入多個(gè)參數(shù)問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 使用Log4j2代碼方式配置實(shí)現(xiàn)線程級(jí)動(dòng)態(tài)控制

    使用Log4j2代碼方式配置實(shí)現(xiàn)線程級(jí)動(dòng)態(tài)控制

    這篇文章主要介紹了使用Log4j2代碼方式配置實(shí)現(xiàn)線程級(jí)動(dòng)態(tài)控制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java中使用正則檢查有效日期的實(shí)現(xiàn)

    Java中使用正則檢查有效日期的實(shí)現(xiàn)

    要判斷一個(gè)字符串是否符合時(shí)間格式,可以使用正則表達(dá)式,本文主要介紹了Java中使用正則檢查有效日期的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • SpringCloud讓微服務(wù)實(shí)現(xiàn)指定程序調(diào)用

    SpringCloud讓微服務(wù)實(shí)現(xiàn)指定程序調(diào)用

    這篇文章主要介紹了SpringCloud讓微服務(wù)實(shí)現(xiàn)指定程序調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論