国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

怎么用java對象表示復(fù)雜的json?

瀏覽:115日期:2023-11-27 16:21:40

問題描述

有種json對象要大量使用,所以想封裝成對象,

{tooltip : { trigger: ’axis’, axisPointer: {type: ’cross’,}, formatter: '{b}: {c})'},xAxis :{ type : ’category’, data : [’Mon’, ’Tue’, ’Wed’, ’Thu’, ’Fri’, ’Sat’, ’Sun’], axisTick: {alignWithLabel: true}},yAxis :{ type : ’value’},series :{ type:’bar’, barWidth: ’80%’, data:[10, 52, 200, 334, 390, 330, 220]}}

現(xiàn)在的想法是一層對象再套一層tooltip,xAxis,series對象,可是完全偏離目標(biāo)了,本來就只是一個(gè)輔助對象。有沒有什么好的做法?

問題解答

回答1:

雖然并沒有太理解你的問題,不過針對json去寫一些類表示這個(gè)json的結(jié)構(gòu),是有點(diǎn)煩...不過有個(gè)神器可以幫你簡單解決這個(gè)問題,哈哈

IDEA里有個(gè)神器叫GsonFormat

怎么用java對象表示復(fù)雜的json?

這個(gè)插件處理json十分好用,不管json有多復(fù)雜,只要json格式正確,自動幫你生成類,哈哈

一般使用步驟是這樣的:

新建一個(gè)類,比如叫Test,這個(gè)類就是你最后要使用的類

怎么用java對象表示復(fù)雜的json?

然后Alt+s 打開GsonFormat的快捷鍵

怎么用java對象表示復(fù)雜的json?

把要轉(zhuǎn)換的json字符串粘貼進(jìn)去,點(diǎn)ok

怎么用java對象表示復(fù)雜的json?

4.確認(rèn)轉(zhuǎn)換后的格式和類型,基本默認(rèn)都可以的,直接點(diǎn)ok即可

怎么用java對象表示復(fù)雜的json?

類生成:

public class Test { /** * tooltip : {'trigger':'axis','axisPointer':{'type':'cross'},'formatter':'{b}: {c})'} * xAxis : {'type':'category','data':['Mon','Tue','Wed','Thu','Fri','Sat','Sun'],'axisTick':{'alignWithLabel':true}} * yAxis : {'type':'value'} * series : {'type':'bar','barWidth':'80%','data':[10,52,200,334,390,330,220]} */ private TooltipBean tooltip; private XAxisBean xAxis; private YAxisBean yAxis; private SeriesBean series; public TooltipBean getTooltip() {return tooltip; } public void setTooltip(TooltipBean tooltip) {this.tooltip = tooltip; } public XAxisBean getXAxis() {return xAxis; } public void setXAxis(XAxisBean xAxis) {this.xAxis = xAxis; } public YAxisBean getYAxis() {return yAxis; } public void setYAxis(YAxisBean yAxis) {this.yAxis = yAxis; } public SeriesBean getSeries() {return series; } public void setSeries(SeriesBean series) {this.series = series; } public static class TooltipBean {/** * trigger : axis * axisPointer : {'type':'cross'} * formatter : {b}: {c}) */private String trigger;private AxisPointerBean axisPointer;private String formatter;public String getTrigger() { return trigger;}public void setTrigger(String trigger) { this.trigger = trigger;}public AxisPointerBean getAxisPointer() { return axisPointer;}public void setAxisPointer(AxisPointerBean axisPointer) { this.axisPointer = axisPointer;}public String getFormatter() { return formatter;}public void setFormatter(String formatter) { this.formatter = formatter;}public static class AxisPointerBean { /** * type : cross */ private String type; public String getType() {return type; } public void setType(String type) {this.type = type; }} } public static class XAxisBean {/** * type : category * data : ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'] * axisTick : {'alignWithLabel':true} */private String type;private AxisTickBean axisTick;private List<String> data;public String getType() { return type;}public void setType(String type) { this.type = type;}public AxisTickBean getAxisTick() { return axisTick;}public void setAxisTick(AxisTickBean axisTick) { this.axisTick = axisTick;}public List<String> getData() { return data;}public void setData(List<String> data) { this.data = data;}public static class AxisTickBean { /** * alignWithLabel : true */ private boolean alignWithLabel; public boolean isAlignWithLabel() {return alignWithLabel; } public void setAlignWithLabel(boolean alignWithLabel) {this.alignWithLabel = alignWithLabel; }} } public static class YAxisBean {/** * type : value */private String type;public String getType() { return type;}public void setType(String type) { this.type = type;} } public static class SeriesBean {/** * type : bar * barWidth : 80% * data : [10,52,200,334,390,330,220] */private String type;private String barWidth;private List<Integer> data;public String getType() { return type;}public void setType(String type) { this.type = type;}public String getBarWidth() { return barWidth;}public void setBarWidth(String barWidth) { this.barWidth = barWidth;}public List<Integer> getData() { return data;}public void setData(List<Integer> data) { this.data = data;} }}回答2:

import java.util.HashMap;import java.util.Map;import com.alibaba.fastjson.JSON;public class MM { class Tooltip {private String trigger;private Map<String, String> axisPointer;private String formatter;public String getTrigger() { return trigger;}public void setTrigger(String trigger) { this.trigger = trigger;}public Map<String, String> getAxisPointer() { return axisPointer;}public void setAxisPointer(Map<String, String> axisPointer) { this.axisPointer = axisPointer;}public String getFormatter() { return formatter;}public void setFormatter(String formatter) { this.formatter = formatter;} } public static void main(String[] args) {MM mm = new MM();Tooltip tooltip = mm.new Tooltip();tooltip.setTrigger('axis');tooltip.setAxisPointer(new HashMap<String, String>(){{ this.put('type', 'cross');}});tooltip.setFormatter('{b}: {c})');Map<String, Object> map = new HashMap<String, Object>();map.put('tooltip', tooltip);System.out.println(JSON.toJSONString(map)); }}

輸出:

{'tooltip':{'axisPointer':{'type':'cross'},'formatter':'{b}: {c})','trigger':'axis'}}

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 成人18免费网站在线观看 | 亚洲欧美一区二区久久香蕉 | 性欧美高清极品xx | 亚洲免费视频一区二区三区 | 中文字幕99在线精品视频免费看 | 国产一二三区在线观看 | 国产精品亚洲一区在线播放 | 看真人视频一级毛片 | 日本一区二区三区四区不卡 | 亚洲伊人色 | 一级黄片毛片 | 99精品99| 免费的特黄特色大片在线观看 | 久久福利影视 | 操哭美女 | 亚洲欧洲日产国码二区在线 | 手机av在线播放 | 亚洲在线免费观看视频 | 欧美一级视频在线高清观看 | 欧美一级片网站 | a高清免费毛片久久 | 精品欧美一区二区三区免费观看 | 亚洲男人的天堂成人 | 91精品乱码一区二区三区 | 国产精品亲子乱子伦xxxx裸 | 精品中文字幕在线观看 | 在线视频一区二区三区四区 | 亚洲天堂久久 | 国产午夜精品理论片在线 | 亚洲视频在线观看视频 | 天天五月天丁香婷婷深爱综合 | 亚洲高清一区二区三区久久 | 国产日韩欧美在线一二三四 | 国产第一页久久亚洲欧美国产 | 亚洲精品一区二区三区四 | 亚州免费| 国产欧美日韩不卡一区二区三区 | 一级毛片黄片 | 美女拍拍拍爽爽爽爽爽爽 | 国产欧美成人一区二区三区 | 国产成人啪精品视频免费软件 |