日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

JAVA如何轉(zhuǎn)換樹(shù)結(jié)構(gòu)數(shù)據(jù)代碼實(shí)例

瀏覽:301日期:2022-09-03 16:38:15

在實(shí)戰(zhàn)開(kāi)發(fā)中經(jīng)常有需要處理樹(shù)形菜單、樹(shù)形目錄等等等業(yè)務(wù)需求。而對(duì)于這種產(chǎn)品,在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)也建議使用id<----->parentId的結(jié)構(gòu)來(lái)做。但是最終前端顯示多用hightChart或者Echart插件來(lái)實(shí)現(xiàn)。所以在給前端數(shù)據(jù)時(shí),最好的做法就是把數(shù)據(jù)庫(kù)結(jié)構(gòu)話的數(shù)據(jù)處理成treeJson格式。

第一步:引入fastjson

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version></dependency>

第二步:用到了工具內(nèi)的JSONPath

JSONPath使用教程

/** * 樹(shù)轉(zhuǎn)換 * * @param obj 需要轉(zhuǎn)換的對(duì)象 * @param parentCodeFieldName 父標(biāo)識(shí)字段名 * @param parentCode 父標(biāo)識(shí)值 * @param currentCodeFieldName 當(dāng)前標(biāo)識(shí)字段名 * @param childrenFiledName 子樹(shù)的字段名 * @param c 需要轉(zhuǎn)換的Class類(lèi)型 * @param <T> 泛型 * @return 返回List<T> */ public static <T> List<T> tree(Object obj, String parentCodeFieldName, String parentCode, String currentCodeFieldName, String childrenFiledName, Class<T> c) { long t1 = System.currentTimeMillis(); String jsonStr = JSON.toJSONString(obj); log.debug('樹(shù)轉(zhuǎn)換開(kāi)始 >>>>>>>>>>>>>>>> {}', JSON.toJSONString(obj)); //獲取第一層級(jí)的數(shù)據(jù) JSONArray jsonArray = (JSONArray) JSONPath.read(jsonStr, '$[' + parentCodeFieldName + '=' + parentCode + ']'); if (CollectionUtils.isEmpty(jsonArray)) { //為空的話直接返回空集合 return Lists.newArrayList(); } for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String code = jsonObject.getString(currentCodeFieldName); treeChildren(jsonStr, jsonObject, parentCodeFieldName, code, currentCodeFieldName, childrenFiledName); } List<T> list = JSONArray.parseArray(jsonArray.toString(), c); log.debug('樹(shù)轉(zhuǎn)換結(jié)束, 轉(zhuǎn)換時(shí)間: {} ms . >>>>>>>>>>>>>>>> {}', (System.currentTimeMillis() - t1), JSON.toJSONString(list)); return list; } private static void treeChildren(String jsonStr, JSONObject currentJsonObj, String parentCodeFieldName, String parentCode, String currentCodeFieldName, String childrenFiledName) { JSONArray jsonArray = (JSONArray) JSONPath.read(jsonStr, '$[' + parentCodeFieldName + '=' + parentCode + ']'); if (CollectionUtils.isEmpty(jsonArray)) { return; } currentJsonObj.put(childrenFiledName, jsonArray); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String code = jsonObject.getString(currentCodeFieldName); treeChildren(jsonStr, jsonObject, parentCodeFieldName, code, currentCodeFieldName, childrenFiledName); } }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩av一区二区在线影视| 欧美日韩亚洲国产精品| 国产一区二区久久久久| 国产精品nxnn| 麻豆91精品91久久久的内涵| 亚洲性色视频| 色一区二区三区| 亚洲精品字幕| 天堂精品久久久久| 久久精品九色| 私拍精品福利视频在线一区| 日韩一区二区免费看| 久久香蕉精品| 国产精品黑丝在线播放| 另类小说一区二区三区| 国产免费播放一区二区| 国产精品theporn| 中文字幕成在线观看| 国产主播一区| 日韩中文字幕区一区有砖一区 | 婷婷视频一区二区三区| 91成人福利| 国产精品毛片视频| 中文字幕成在线观看| 亚洲综合在线电影| 久久一级电影| 日韩一区精品字幕| 久久国产精品色av免费看| 国产成人精品亚洲线观看| 亚洲福利国产| 日本一区二区三区中文字幕| 久久麻豆视频| 久久九九国产| 中文无码久久精品| 国产一区日韩| 视频一区二区欧美| 国语对白精品一区二区| 亚洲精品中文字幕乱码| 日本久久二区| 日韩高清中文字幕一区二区| 午夜在线播放视频欧美| 麻豆视频一区二区| 99国产精品久久久久久久| 欧美亚洲二区| 欧美jjzz| 欧美激情 亚洲a∨综合| 亚洲网站视频| 91精品国产自产观看在线 | 国产精品男女| 午夜久久tv| 国产精品视频首页| 亚洲激情欧美| 国产精品最新自拍| 日韩一级精品| 精品一区91| 亚洲影院天堂中文av色| 98精品视频| 欧美日韩一区自拍| 国产一区日韩一区| 国产精品久久久亚洲一区| 午夜欧美精品| 激情综合五月| 日韩精品一区二区三区中文在线| 日韩久久精品网| 国产丝袜一区| 免费久久99精品国产| www.九色在线| 天海翼亚洲一区二区三区| 亚洲a在线视频| 美腿丝袜亚洲三区| 亚洲专区视频| 91国语精品自产拍| 国产一区二区三区日韩精品| 亚洲资源网站| 五月天久久777| 五月天av在线| 美女久久精品| 欧美一区网站| 亚洲一级淫片| 不卡av一区二区| 欧美少妇精品| 久久亚洲人体| 7777精品| 免费精品视频最新在线| 色88888久久久久久影院| 麻豆91在线播放| 国产亚洲久久| 日韩三区四区| 视频一区二区国产| 亚洲激情黄色| 99久久夜色精品国产亚洲1000部| 精品中文在线| 国产精品高潮呻吟久久久久| 日韩av一区二区三区四区| 国产精品日韩| 免费观看久久av| 91精品综合| 久久久久久一区二区| 国产精久久久| 国产精品一区免费在线| 午夜精品福利影院| 久久国产欧美| 亚洲欧洲美洲av| 激情综合婷婷| 精品视频黄色| 精品免费视频| 精品中文字幕一区二区三区四区| 欧美久久久网站| 日韩精品乱码av一区二区| 中文字幕日本一区二区| 美女精品在线观看| 视频精品一区二区| 亚洲欧美日韩专区| 免费日韩一区二区| 免费一级片91| 亚洲精品少妇| 人人精品久久| 国产日本精品| 欧美国产精品| 国产精品国产一区| 日韩精品福利一区二区三区| 婷婷久久一区| 中文在线不卡| 石原莉奈在线亚洲二区| 老司机久久99久久精品播放免费| 国产精品婷婷| 日韩专区欧美专区| 在线一区二区三区视频| 婷婷综合福利| 国产精品一区二区三区av麻| 国产精品videossex| 精品国产麻豆| 群体交乱之放荡娇妻一区二区| 国产99精品一区| 久久aⅴ国产紧身牛仔裤| 亚洲精品精选| 国产精品观看| av在线最新| 影视先锋久久| 另类激情亚洲| 日韩av一级片| 精品国产一级| 欧美不卡高清一区二区三区| 婷婷久久一区| 日韩欧美另类中文字幕| 你懂的网址国产 欧美| 日韩另类视频| 在线一区二区三区视频| 国产精品日本一区二区不卡视频| 国产va免费精品观看精品视频| 久久影视一区| 亚洲v天堂v手机在线| 久久精品亚洲| 激情婷婷欧美| 婷婷精品在线观看| 精品网站999| 婷婷六月综合| 日本中文字幕一区二区视频| 精品三级国产| 国产农村妇女精品一二区| 欧美日韩xxxx| 亚洲精品.com| 香蕉久久一区| 天堂√8在线中文| 日韩精品一二三| 麻豆精品久久| 日韩午夜一区| 国产精品调教| 欧美高清一区| 国产欧美一区| 亚洲无线一线二线三线区别av| 少妇高潮一区二区三区99| 久久丁香四色| 欧美~级网站不卡| 亚欧成人精品| 日韩一区三区| 人人精品久久| 国产99亚洲| 国产精品对白久久久久粗| 欧美理论视频| 欧美激情视频一区二区三区在线播放| 婷婷综合网站| 精品久久一区| 伊人国产精品| 91精品韩国| 日本午夜精品久久久| 国精品一区二区| 国产激情欧美| 免费黄网站欧美| 日韩电影免费在线观看| 91亚洲无吗| 亚洲国产一区二区在线观看| 麻豆精品一区二区综合av| 国产视频一区在线观看一区免费| 久久av超碰| 亚洲精品系列| 麻豆精品新av中文字幕| 国产精品美女| 日韩av首页| 麻豆国产精品视频|