Java實(shí)現(xiàn)將枚舉類轉(zhuǎn)為json并返回給前端
1.后端將枚舉類直接返回給前端時只會顯示枚舉名稱
后端經(jīng)常會使用到枚舉類,想讓前端知曉這個枚舉類中常量的含義,要將其返回給前端。
直接返回枚舉類的話,前端只會顯示枚舉名稱,不是很友好。

2.使用 @JsonFormat 注解可以將枚舉類轉(zhuǎn)為json再返回給前端。

2.1添加maven依賴
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
2.2在枚舉類上添加@JsonFormat(shape = JsonFormat.Shape.OBJECT)
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum PhaseEnum {
//0:接地端,1:導(dǎo)線端A相, 2: 導(dǎo)線端B相,3: 導(dǎo)線端C相,4: 接地端A相,5: 接地端B相,6: 接地端C相
PHASE_0(0, "接地端"),
PHASE_1(1, "導(dǎo)線端A相"),
PHASE_2(2, "導(dǎo)線端B相"),
PHASE_3(3, "導(dǎo)線端C相"),
PHASE_4(4, "接地端A相"),
PHASE_5(5, "接地端B相"),
PHASE_6(6, "接地端C相");
private final Integer code;
private final String name;
PhaseEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
/**
*根據(jù)name查code
**/
public static Integer getCodeByName(String name) {
for (PhaseEnum phaseEnum : PhaseEnum.values()) {
if (phaseEnum.getName().equals(name)) {
return phaseEnum.getCode();
}
}
return null;
}
/**
*根據(jù)name查枚舉類
**/
public static PhaseEnum getPhaseEnum(String name) {
for (PhaseEnum temp : PhaseEnum.values()) {
if (temp.getName().equals(name)) {
return temp;
}
}
return null;
}
}
2.3編寫接口返回給前端
/**
* 獲取地線部件的相位枚舉
**/
@RequestMapping(value = "/getEarthwirePhase.do", method = {RequestMethod.GET})
@ResponseBody
@ApiOperation(value = "獲取地線部件的相位枚舉", notes = "獲取地線部件的相位枚舉")
public Object getEarthwirePhase() {
return RestResponse.success(PhaseEnum.values());
}
到此這篇關(guān)于Java實(shí)現(xiàn)將枚舉類轉(zhuǎn)為json并返回給前端的文章就介紹到這了,更多相關(guān)Java枚舉類轉(zhuǎn)為json內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javamelody監(jiān)控不到sql的問題(親測有效)??
JavaMelody是用來在QA和實(shí)際運(yùn)行生產(chǎn)環(huán)境中監(jiān)控Java或Java?EE應(yīng)用程序服務(wù)器的一個開源框架,這篇文章主要介紹了Javamelody監(jiān)控不到sql(親測有效)??,需要的朋友可以參考下2022-10-10
java實(shí)現(xiàn)讀取帶合并單元格的Excel
這篇文章主要為大家詳細(xì)介紹了java如何實(shí)現(xiàn)讀取帶合并單元格的Excel,文中的示例代碼講解詳細(xì), 感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
基于Mybatis-Plus的CRUD的實(shí)現(xiàn)
這篇文章主要介紹了基于Mybatis-Plus的CRUD的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Java中String類常用類型實(shí)例總結(jié)
在我們開發(fā)中經(jīng)常會用到很多的常用的工具類,這里做一個總結(jié),下面這篇文章主要給大家介紹了關(guān)于Java中String類常用類型的相關(guān)資料,String類代表字符串,需要的朋友可以參考下2021-12-12
flowable動態(tài)創(chuàng)建多級流程模板實(shí)現(xiàn)demo
這篇文章主要為大家介紹了flowable動態(tài)創(chuàng)建多級流程模板實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

