国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

西寧制作網(wǎng)站多少錢企業(yè)做網(wǎng)上推廣

西寧制作網(wǎng)站多少錢,企業(yè)做網(wǎng)上推廣,精準(zhǔn)引流推廣文案,360做企業(yè)網(wǎng)站多少錢在日常的Java開發(fā)中,我們經(jīng)常需要將Java對(duì)象序列化為JSON格式,以便進(jìn)行數(shù)據(jù)傳輸或存儲(chǔ)。然而,有時(shí)候我們并不希望在JSON中包含某些空值或不必要的字段,這不僅會(huì)增加數(shù)據(jù)的冗余性,還可能對(duì)后續(xù)的處理造成困擾。Jackson庫(kù)…

在日常的Java開發(fā)中,我們經(jīng)常需要將Java對(duì)象序列化為JSON格式,以便進(jìn)行數(shù)據(jù)傳輸或存儲(chǔ)。然而,有時(shí)候我們并不希望在JSON中包含某些空值或不必要的字段,這不僅會(huì)增加數(shù)據(jù)的冗余性,還可能對(duì)后續(xù)的處理造成困擾。Jackson庫(kù)中的@JsonInclude注解為我們提供了一種優(yōu)雅的解決方案。今天,我們就來(lái)深入探討一下@JsonInclude(JsonInclude.Include.NON_EMPTY)的使用方法和實(shí)際效果。

一、@JsonInclude的背景與作用

@JsonInclude注解是Jackson庫(kù)提供的一個(gè)強(qiáng)大工具,用于控制對(duì)象序列化時(shí)字段的包含規(guī)則。其中,JsonInclude.Include.NON_EMPTY選項(xiàng)可以排除那些被認(rèn)為是“空”的值。具體來(lái)說(shuō),以下幾種情況會(huì)被視為“空”:

  • Null值:字段值為null。
  • 空字符串:字段值為""。
  • 空集合或數(shù)組:例如List、Map、數(shù)組等,其長(zhǎng)度或isEmpty()方法返回true。

通過(guò)使用@JsonInclude(JsonInclude.Include.NON_EMPTY),我們可以輕松地過(guò)濾掉這些空值,使生成的JSON更加簡(jiǎn)潔和清晰。

二、實(shí)例解析

為了更好地理解@JsonInclude(JsonInclude.Include.NON_EMPTY)的作用,我們來(lái)看一個(gè)具體的例子。

1. 定義Java對(duì)象

首先,我們定義一個(gè)Employee類,該類包含了一些常見的字段,如姓名、部門、地址、電話號(hào)碼列表和薪資等。

package com.logicbig.example;import com.fasterxml.jackson.annotation.JsonInclude;
import java.math.BigDecimal;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Employee {private String name;private String dept;private String address;private List<String> phones;private AtomicReference<BigDecimal> salary;// Getter和Setter方法省略
}

Employee類上,我們添加了@JsonInclude(JsonInclude.Include.NON_EMPTY)注解,這表示在序列化時(shí),所有空值字段都將被排除。

2. 主程序代碼

接下來(lái),我們編寫一個(gè)主程序來(lái)測(cè)試Employee類的序列化效果。

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.ArrayList;public class ExampleMain {public static void main(String[] args) throws IOException {Employee employee = new Employee();employee.setName("Trish");employee.setDept("");employee.setAddress(null);employee.setPhones(new ArrayList<>());employee.setSalary(new AtomicReference<>());ObjectMapper om = new ObjectMapper();String jsonString = om.writeValueAsString(employee);System.out.println(jsonString);}
}

在主程序中,我們創(chuàng)建了一個(gè)Employee對(duì)象,并為其設(shè)置了部分字段。其中,dept字段為空字符串,address字段為nullphones字段是一個(gè)空的ArrayListsalary字段是一個(gè)未初始化的AtomicReference。

3. 運(yùn)行結(jié)果

運(yùn)行上述代碼后,輸出結(jié)果如下:

{"name":"Trish"}

可以看到,只有name字段被序列化到JSON中,其他空值字段(如dept、address、phonessalary)都被成功排除。

三、對(duì)比其他注解選項(xiàng)

為了更直觀地理解@JsonInclude(JsonInclude.Include.NON_EMPTY)的效果,我們可以對(duì)比其他幾種注解選項(xiàng)。

1. 不使用@JsonInclude注解

如果我們?cè)?code>Employee類中不使用@JsonInclude注解,那么序列化結(jié)果將是:

{"name":"Trish","dept":"","address":null,"phones":[],"salary":null}

可以看到,所有字段都被序列化到JSON中,包括空字符串、null值、空集合和未初始化的AtomicReference。

2. 使用@JsonInclude(JsonInclude.Include.NON_NULL)

如果我們將@JsonInclude注解的值改為JsonInclude.Include.NON_NULL,那么序列化結(jié)果將是:

{"name":"Trish","dept":"","phones":[],"salary":null}

在這種情況下,只有null值字段被排除,空字符串和空集合仍然會(huì)被序列化。

3. 使用@JsonInclude(JsonInclude.Include.NON_ABSENT)

如果我們將@JsonInclude注解的值改為JsonInclude.Include.NON_ABSENT,那么序列化結(jié)果將是:

{"name":"Trish","dept":"","phones":[]}

在這種情況下,null值字段和未初始化的AtomicReference字段被排除,但空字符串和空集合仍然會(huì)被序列化。

四、總結(jié)

通過(guò)上述實(shí)例和對(duì)比,我們可以清楚地看到@JsonInclude(JsonInclude.Include.NON_EMPTY)的強(qiáng)大功能。它能夠幫助我們過(guò)濾掉所有“空”值字段,從而生成更加簡(jiǎn)潔、高效的JSON數(shù)據(jù)。在實(shí)際開發(fā)中,合理使用@JsonInclude注解可以大大提升數(shù)據(jù)序列化的質(zhì)量,減少不必要的數(shù)據(jù)傳輸和存儲(chǔ)開銷。

此外,Jackson庫(kù)還提供了豐富的注解和功能,值得我們深入學(xué)習(xí)和探索。希望本文能夠幫助你更好地理解和應(yīng)用@JsonInclude注解,提升你的開發(fā)效率和代碼質(zhì)量。

http://aloenet.com.cn/news/28311.html

相關(guān)文章:

  • 什么網(wǎng)站做任務(wù)的q幣免費(fèi)網(wǎng)站的平臺(tái)
  • 免費(fèi)輿情信息網(wǎng)站微信公眾號(hào)小程序怎么做
  • 網(wǎng)站制作b s的基本步驟南陽(yáng)本地網(wǎng)絡(luò)推廣優(yōu)化公司
  • 南莊網(wǎng)站開發(fā)最近韓國(guó)電影片
  • 南寧seo推廣外包鄭州優(yōu)化網(wǎng)站公司
  • 做門窗接活的網(wǎng)站培訓(xùn)網(wǎng)站
  • 山東seo網(wǎng)絡(luò)營(yíng)銷推廣seo指搜索引擎
  • ic商城網(wǎng)站建設(shè)同城引流用什么軟件
  • 怎么做校園表白墻網(wǎng)站怎么在網(wǎng)上做網(wǎng)絡(luò)營(yíng)銷
  • 網(wǎng)站建設(shè)論文的前言南京seo排名優(yōu)化
  • 深業(yè)資本有限公司網(wǎng)站建設(shè)成都高端品牌網(wǎng)站建設(shè)
  • 江蘇靖江蘇源建設(shè)有限公司招標(biāo)網(wǎng)站搜盤 資源網(wǎng)
  • 網(wǎng)站建設(shè)優(yōu)化兼職成都seo工程師
  • 網(wǎng)站seo診斷評(píng)分63淘寶指數(shù)查詢
  • 上海閔行網(wǎng)站制作公司全網(wǎng)推廣方案
  • 做網(wǎng)站銷售一個(gè)星期的計(jì)劃市場(chǎng)營(yíng)銷案例
  • 政府網(wǎng)站免費(fèi)模板產(chǎn)品營(yíng)銷方案策劃
  • 三端互通傳奇手游找服網(wǎng)站百度一下首頁(yè)手機(jī)版
  • 商城類網(wǎng)站建設(shè)需要多少錢標(biāo)題優(yōu)化怎樣選關(guān)鍵詞
  • 人力資源公司網(wǎng)站模板網(wǎng)頁(yè)設(shè)計(jì)制作網(wǎng)站模板
  • 巫山網(wǎng)站開發(fā)太原seo哪家好
  • 淘寶怎么做網(wǎng)站網(wǎng)絡(luò)優(yōu)化大師app
  • 專業(yè)網(wǎng)站設(shè)計(jì)制作費(fèi)用下載百度到桌面
  • 網(wǎng)站欄目劃分的原則瀏覽器如何推廣自己網(wǎng)站
  • 網(wǎng)站制作的頁(yè)面比例上海單個(gè)關(guān)鍵詞優(yōu)化
  • 北京網(wǎng)站建設(shè)哪家好百度官網(wǎng)認(rèn)證免費(fèi)
  • 煙臺(tái)seo關(guān)鍵詞排名優(yōu)化英文
  • 網(wǎng)站開發(fā)數(shù)據(jù)庫(kù)分析模板谷歌官網(wǎng)入口
  • 常州武進(jìn)區(qū)建設(shè)局網(wǎng)站吉林網(wǎng)站推廣公司
  • 寫作網(wǎng)站一稿多投的后果海外廣告投放公司