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

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

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

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

使用阿里的

com.alibaba.fastjson.JSON

格式化時,默認(rèn)null屬性會被過濾掉,可以設(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);?
}

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

SerializerFeature.WriteMapNullValue

屬性說明

QuoteFieldNames———輸出key時是否使用雙引號,默認(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é)果中字段為空或為null,不展示字段的問題(字段展示不全)

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é)果中字段為空或為null,不展示字段的問題(字段展示不全)
?*/
@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中加了個屬性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/");
? ? }?
}

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

相關(guān)文章

  • SpringBoot如何在線程中獲取@Service Bean類

    SpringBoot如何在線程中獲取@Service Bean類

    這篇文章主要介紹了SpringBoot如何在線程中獲取@Service Bean類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java單線程ThreadLocal串值問題解決方案

    Java單線程ThreadLocal串值問題解決方案

    這篇文章主要介紹了Java單線程ThreadLocal串值問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • java中Hashmap的get方法使用

    java中Hashmap的get方法使用

    這篇文章主要介紹了java中Hashmap的get方法使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實現(xiàn)多線程的上下文切換

    Java實現(xiàn)多線程的上下文切換

    這篇文章主要介紹了Java實現(xiàn)多線程的上下文切換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java工具類之實現(xiàn)java獲取文件行數(shù)

    java工具類之實現(xiàn)java獲取文件行數(shù)

    這篇文章主要介紹了一個java工具類,可以取得當(dāng)前項目中所有java文件總行數(shù),代碼行數(shù),注釋行數(shù),空白行數(shù),需要的朋友可以參考下
    2014-03-03
  • Spring?MVC的完整執(zhí)行流程和常用組件詳解

    Spring?MVC的完整執(zhí)行流程和常用組件詳解

    SpringMvc是Spring的一個基于MVC開發(fā)的一個框架,用來處理前端請求,可以和Spring無縫整合,下面這篇文章主要給大家介紹了關(guān)于Spring?MVC的完整執(zhí)行流程和常用組件的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Java上傳文件到服務(wù)器指定文件夾實現(xiàn)過程圖解

    Java上傳文件到服務(wù)器指定文件夾實現(xiàn)過程圖解

    這篇文章主要介紹了Java上傳文件到服務(wù)器指定文件夾實現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Java模擬QQ桌面截圖功能實現(xiàn)方法

    Java模擬QQ桌面截圖功能實現(xiàn)方法

    這篇文章主要介紹了Java模擬QQ桌面截圖功能實現(xiàn)方法,涉及java針對鼠標(biāo)事件及圖片操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • java連接mysql數(shù)據(jù)庫詳細(xì)步驟解析

    java連接mysql數(shù)據(jù)庫詳細(xì)步驟解析

    以下是對java連接mysql數(shù)據(jù)庫的具體詳細(xì)步驟進(jìn)行了分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • Java容器HashMap與HashTable詳解

    Java容器HashMap與HashTable詳解

    本文主要介紹HashMap 和 Hashtable的工作原理和使用方法,有興趣的朋友可以參考
    2017-04-04

最新評論

山东| 边坝县| 黄梅县| 阿坝| 汕尾市| 布尔津县| 天峨县| 巴楚县| 忻州市| 秦皇岛市| 长汀县| 大庆市| 墨竹工卡县| 三穗县| 凤冈县| 蒙阴县| 百色市| 同江市| 东宁县| 疏勒县| 屏山县| 永丰县| 友谊县| 福贡县| 宜兴市| 疏附县| 盐边县| 郧西县| 崇明县| 横山县| 句容市| 镇巴县| 沙洋县| 定西市| 余江县| 明水县| 松潘县| 灌南县| 莱西市| 余姚市| 纳雍县|