package com.ruoyi.common.utils;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test {
    private static class TreeNode implements Serializable {
        private static final long serialVersionUID = 1L;
        String tag;
        String name;
        String code;
        @JsonInclude(JsonInclude.Include.NON_EMPTY)
        List<TreeNode> children;

        TreeNode(String code,String name) {
            this.name = name;
            this.code = code;
            children = new ArrayList<>();
        }
    }

    public static void main(String[] args) {
        List<String> list= Arrays.asList(
                "体育类(历史)招生计划>一、本科提前批>公费师范生>1.国家公费师范生"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(1)面向长沙市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(10)面向娄底市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(11)面向郴州市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(12)面向永州市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(13)面向怀化市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(14)面向湘西自治州"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(2)面向株洲市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(3)面向湘潭市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(4)面向衡阳市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(5)面向邵阳市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(6)面向岳阳市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(7)面向常德市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(8)面向张家界市"
                ,"体育类(历史)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(9)面向益阳市"
                ,"体育类(历史)招生计划>三、专科提前批>定向培养军士专业"
                ,"体育类(历史)招生计划>二、本科批"
                ,"体育类(历史)招生计划>四、高职专科批"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>1.国家公费师范生"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(1)面向长沙市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(10)面向娄底市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(11)面向郴州市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(12)面向永州市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(13)面向怀化市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(14)面向湘西自治州"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(2)面向株洲市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(3)面向湘潭市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(4)面向衡阳市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(5)面向邵阳市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(6)面向岳阳市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(7)面向常德市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(8)面向张家界市"
                ,"体育类(物理)招生计划>一、本科提前批>公费师范生>2.省内公费师范生(含省级优师专项)>(9)面向益阳市"
                ,"体育类(物理)招生计划>三、专科提前批>定向培养军士专业"
                ,"体育类(物理)招生计划>二、本科批"
                ,"体育类(物理)招生计划>四、高职专科批"
                ,"普通类(历史)招生计划>一、本科提前批>公安(刑警、司法)院校>1.公安类(需面试)>(1)公安类(男生)"
                ,"普通类(历史)招生计划>一、本科提前批>公安(刑警、司法)院校>1.公安类(需面试)>(2)公安类(女生)"
                ,"普通类(历史)招生计划>一、本科提前批>公安(刑警、司法)院校>2.公安类(不需面试)>(1)公安类(男生)"
                ,"普通类(历史)招生计划>一、本科提前批>公安(刑警、司法)院校>2.公安类(不需面试)>(2)公安类(女生)"
                ,"普通类(历史)招生计划>一、本科提前批>公安(刑警、司法)院校>2.公安类(不需面试)>(3)公安类(不区分男女)"
                ,"普通类(历史)招生计划>一、本科提前批>公安(刑警、司法)院校>航海类专业"
                ,"普通类(历史)招生计划>一、本科提前批>其他院校>1.其他类(需面试)"
                ,"普通类(历史)招生计划>一、本科提前批>其他院校>2.其他类(不需面试)"
                ,"普通类(历史)招生计划>一、本科提前批>军事(含武警)院校>1.军事类(男生)>(1)其他专业合格(指挥专业)"
                ,"普通类(历史)招生计划>一、本科提前批>军事(含武警)院校>1.军事类(男生)>(2)其他专业合格(非指挥专业)"
                ,"普通类(历史)招生计划>一、本科提前批>军事(含武警)院校>2.军事类(女生)>(1)其他专业合格(指挥专业)"
                ,"普通类(历史)招生计划>一、本科提前批>军事(含武警)院校>2.军事类(女生)>(2)其他专业合格(非指挥专业)"
                ,"普通类(历史)招生计划>一、本科提前批>农村订单定向免费医学生"
                ,"普通类(历史)招生计划>一、本科提前批>民航飞行学员"
                ,"普通类(历史)招生计划>一、本科提前批>综合评价录取"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>1.马克思主义理论专业"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>2.国家公费师范生"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>3.国家公费师范生(国家专项计划)"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.国家优师专项"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(1)面向长沙市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(10)面向娄底市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(11)面向郴州市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(12)面向永州市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(13)面向怀化市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(14)面向湘西自治州"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(2)面向株洲市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(3)面向湘潭市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(4)面向衡阳市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(5)面向邵阳市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(6)面向岳阳市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(7)面向常德市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(8)面向张家界市"
                ,"普通类(历史)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>5.省内公费师范生（含省级优师专项）>(9)面向益阳市"
                ,"普通类(物理)招生计划>一、本科提前批>公安(刑警、司法)院校>1.公安类(需面试)>(1)公安类(男生)"
                ,"普通类(物理)招生计划>一、本科提前批>公安(刑警、司法)院校>1.公安类(需面试)>(2)公安类(女生)"
                ,"普通类(物理)招生计划>一、本科提前批>公安(刑警、司法)院校>2.公安类(不需面试)>(1)公安类(男生)"
                ,"普通类(物理)招生计划>一、本科提前批>公安(刑警、司法)院校>2.公安类(不需面试)>(2)公安类(女生)"
                ,"普通类(物理)招生计划>一、本科提前批>公安(刑警、司法)院校>航海类专业"
                ,"普通类(物理)招生计划>一、本科提前批>其他院校>1.其他类(需面试)"
                ,"普通类(物理)招生计划>一、本科提前批>其他院校>2.其他类(不需面试)"
                ,"普通类(物理)招生计划>一、本科提前批>农村订单定向免费医学生"
                ,"普通类(物理)招生计划>一、本科提前批>民航飞行学员"
                ,"普通类(物理)招生计划>一、本科提前批>综合评价录取"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>1.国家公费师范生"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>2.国家公费师范生(国家专项)"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>3.国家优师专项"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(1)面向长沙市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(10)面向娄底市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(11)面向郴州市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(12)面向永州市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(13)面向怀化市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(14)面向湘西自治州"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(2)面向株洲市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(3)面向湘潭市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(4)面向衡阳市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(5)面向邵阳市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(6)面向岳阳市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(7)面向常德市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(8)面向张家界市"
                ,"普通类(物理)招生计划>一、本科提前批>马克思主义理论专业及公费师范生>4.省内公费师范生(含省级优师专项)>(9)面向益阳市"
                ,"普通类(物理)招生计划>三、专科提前批>定向培养军士专业>1.定向培养军士(男生)>(1)军检陆勤人员合格"
                ,"普通类(物理)招生计划>三、专科提前批>定向培养军士专业>1.定向培养军士(男生)>(2)军检特种作战部队条件兵合格"
                ,"普通类(物理)招生计划>三、专科提前批>定向培养军士专业>1.定向培养军士(男生)>(3)军检水面舰艇人员合格"
                ,"普通类(物理)招生计划>三、专科提前批>定向培养军士专业>2.定向培养军士(女生)>军检陆勤人员合格"
                ,"普通类(物理)招生计划>专科提前批>公安类专业>1.公安类(需面试)>(1)公安类(男生)"
                ,"普通类(物理)招生计划>专科提前批>公安类专业>1.公安类(需面试)>(2)公安类(女生)"
                ,"普通类(物理)招生计划>专科提前批>公安类专业>2.公安类(不需面试)>公安类(不区分男女)"
                ,"普通类(物理)招生计划>专科提前批>其他类专业>其他类(需面试或签约)"
                ,"普通类(物理)招生计划>专科提前批>基层医疗卫生机构本土化人才培养"
                ,"普通类(物理)招生计划>专科提前批>航海类专业"
                ,"普通类(物理)招生计划>专科提前批>航空乘务类专业"
                ,"普通类(历史)招生计划>三、专科提前批>公安类专业>1.公安类(需面试>(1)公安类(男生)"
                ,"普通类(历史)招生计划>三、专科提前批>公安类专业>1.公安类(需面试>(2)公安类(女生)"
                ,"普通类(历史)招生计划>三、专科提前批>公安类专业>2.公安类（不需面试）>公安类（不区分男女）"
                ,"普通类(历史)招生计划>三、专科提前批>其他类专业>其他类（需面试或签约）"
                ,"普通类(历史)招生计划>三、专科提前批>基层医疗卫生机构本土化人才培养"
                ,"普通类(历史)招生计划>三、专科提前批>定向培养军士专业>1.定向培养军士（男生）<br>>(1）军检陆勤人员合格"
                ,"普通类(历史)招生计划>三、专科提前批>定向培养军士专业>1.定向培养军士（男生）<br>>(2)军检特种作战部队条件兵合格"
                ,"普通类(历史)招生计划>三、专科提前批>定向培养军士专业>1.定向培养军士（男生）<br>>(3)军检水面舰艇人员合格"
                ,"普通类(历史)招生计划>三、专科提前批>定向培养军士专业>2.定向培养军士(女生)>军检陆勤人员合格"
                ,"普通类(历史)招生计划>三、专科提前批>航海类专业"
                ,"普通类(历史)招生计划>三、专科提前批>航空乘务类专业"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(1)指挥专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(10)其他专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(11)其他专业合格(非指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(12)指挥专业合格且特种作战合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(13)指挥专业合格且空降专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(14)其他专业合格(不区分指挥、非指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(2)潜艇专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(3)潜艇专业合格(非指挥专业）"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(4)潜水专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(5)防化专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(6)防化专业合格(非指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(7)医疗专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(8)医疗专业合格(非指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>1.军事类(男生)>(9)油料专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>2.军事类(女生)>(1)防化专业合格(非指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>2.军事类(女生)>(2)医疗专业合格(非指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>2.军事类(女生)>(3)其他专业合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>2.军事类(女生)>(4)其他专业合格(非指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>2.军事类(女生)>(5)指挥专业合格且特种作战合格(指挥专业)"
                ,"普通类(物理)招生计划>一、本科提前批>军事（含武警）院校>2.军事类(女生)>(6)其他专业合格(不区分指挥、非指挥专业)"
                ,"职高对口类招生计划>一、本科提前批>旅游类专业"
                ,"职高对口类招生计划>一、本科提前批>机电类专业"
                ,"职高对口类招生计划>一、本科提前批>电子电工类专业"
                ,"职高对口类招生计划>一、本科提前批>种植类专业"
                ,"职高对口类招生计划>一、本科提前批>美术类专业"
                ,"职高对口类招生计划>一、本科提前批>财会类专业"
                ,"职高对口类招生计划>三、高职专科批>养殖类专业"
                ,"职高对口类招生计划>三、高职专科批>医卫类专业"
                ,"职高对口类招生计划>三、高职专科批>商贸类专业"
                ,"职高对口类招生计划>三、高职专科批>师范类专业"
                ,"职高对口类招生计划>三、高职专科批>建筑类专业"
                ,"职高对口类招生计划>三、高职专科批>文秘类专业"
                ,"职高对口类招生计划>三、高职专科批>旅游类专业"
                ,"职高对口类招生计划>三、高职专科批>服装类专业"
                ,"职高对口类招生计划>三、高职专科批>机电类专业"
                ,"职高对口类招生计划>三、高职专科批>电子电工类专业"
                ,"职高对口类招生计划>三、高职专科批>种植类专业"
                ,"职高对口类招生计划>三、高职专科批>美术类专业"
                ,"职高对口类招生计划>三、高职专科批>英语类专业"
                ,"职高对口类招生计划>三、高职专科批>计算机类专业"
                ,"职高对口类招生计划>三、高职专科批>财会类专业"
                ,"职高对口类招生计划>三、高职专科批>音乐类专业"
                ,"职高对口类招生计划>二、本科批>养殖类专业"
                ,"职高对口类招生计划>二、本科批>医卫类专业"
                ,"职高对口类招生计划>二、本科批>商贸类专业"
                ,"职高对口类招生计划>二、本科批>师范类专业"
                ,"职高对口类招生计划>二、本科批>建筑类专业"
                ,"职高对口类招生计划>二、本科批>文秘类专业"
                ,"职高对口类招生计划>二、本科批>旅游类专业"
                ,"职高对口类招生计划>二、本科批>服装类专业"
                ,"职高对口类招生计划>二、本科批>机电类专业"
                ,"职高对口类招生计划>二、本科批>电子电工类专业"
                ,"职高对口类招生计划>二、本科批>种植类专业"
                ,"职高对口类招生计划>二、本科批>美术类专业"
                ,"职高对口类招生计划>二、本科批>英语类专业"
                ,"职高对口类招生计划>二、本科批>计算机类专业"
                ,"职高对口类招生计划>二、本科批>财会类专业"
                ,"职高对口类招生计划>二、本科批>音乐类专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>(2)其他艺术专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(1)面向长沙市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(11)面向郴州市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(12)面向永州市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(13)面向怀化市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(14)面向湘西自治州"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(2)面向株洲市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(3)面向湘潭市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(4)面向衡阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(5)面向邵阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(6)面向岳阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(7)面向常德市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(8)面向张家界市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>2.美术类专业>省内公费师范生(含省级优师专项)>(9)面向益阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>书法学艺术与书法教类专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>摄影摄像类专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>播音与主持艺术类专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>编导类专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>舞蹈类专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>表演类(戏剧表演)专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>表演类(服装表演)专业"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(1)面向长沙市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(10)面向娄底市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(11)面向郴州市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(12)面向永州市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(13)面向怀化市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(14)面向湘西自治州"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(2)面向株洲市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(3)面向湘潭市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(4)面向衡阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(5)面向邵阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(6)面向岳阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(7)面向常德市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(8)面向张家界市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>1.省内公费师范生(含省级优师专项)>(9)面向益阳市"
                ,"艺术类(历史)招生计划>一、本科提前批>平行组>音乐类专业>2.其他艺术专业"
                ,"艺术类(历史)招生计划>三、高职专科批>1.音乐类专业"
                ,"艺术类(历史)招生计划>三、高职专科批>2.美术类专业"
                ,"艺术类(历史)招生计划>三、高职专科批>3.舞蹈类专业"
                ,"艺术类(历史)招生计划>三、高职专科批>4.表演类(服装表演)专业"
                ,"艺术类(历史)招生计划>三、高职专科批>5.播音与主持艺术类专业"
                ,"艺术类(历史)招生计划>三、高职专科批>6.编导类专业"
                ,"艺术类(历史)招生计划>三、高职专科批>7.表演类(戏剧表演)专业"
                ,"艺术类(历史)招生计划>三、高职专科批>8.书法艺术与书法教育类专业"
                ,"艺术类(历史)招生计划>三、高职专科批>9.摄影摄像类专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>1.音乐类专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>2.美术类专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>3.舞蹈类专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>4.表演类(服装表演)专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>5.播音与主持艺术类专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>6.编导类专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>7.表演类(戏剧表演)专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>8.书法艺术与书法教育类专业"
                ,"艺术类(历史)招生计划>二、本科批>平行组>9.摄影摄像类专业"
                ,"艺术类(物理)招生计划>一、本科提前批>非平行组>1.按独立设置艺术院校招生政策招生的院校(专业)"
                ,"艺术类(物理)招生计划>一、本科提前批>非平行组>2.其他院校(专业)"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>1.音乐类专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>2.美术类专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>3.舞蹈类专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>4.表演类(服装表演)专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>5.播音与主持艺术类专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>6.编导类专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>7.表演类(戏剧表演)专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>8.书法艺术与书法教育类专业"
                ,"艺术类(物理)招生计划>三、高职专科批本部分院校>9.摄影摄像类专业"
                ,"艺术类(物理)招生计划>二、本科批>非平行组"
                ,"艺术类(物理)招生计划>本科批>平行组>1.音乐类专业"
                ,"艺术类(物理)招生计划>本科批>平行组>2.美术类专业"
                ,"艺术类(物理)招生计划>本科批>平行组>3.舞蹈类专业"
                ,"艺术类(物理)招生计划>本科批>平行组>4.表演类"
                ,"艺术类(物理)招生计划>本科批>平行组>5.播音与主持艺术类专业"
                ,"艺术类(物理)招生计划>本科批>平行组>6.编导类专业"
                ,"艺术类(物理)招生计划>本科批>平行组>7.表演类(戏剧表演)专业"
                ,"艺术类(物理)招生计划>本科批>平行组>8.书法艺术与书法教育类专业"
                ,"艺术类(物理)招生计划>本科批>平行组>9.摄影摄像类专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向娄底市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向岳阳市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向常德市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向张家界市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向株洲市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向永州市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向衡阳市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向邵阳市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向郴州市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(1）省内公费师范生(含省级优师专项)>面向长沙市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>1.音乐类专业>(2)其他艺术专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向娄底"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向岳阳市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向张家界市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向怀化市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向株洲市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向永州市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向湘潭市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向益阳市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向衡阳市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向邵阳市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向郴州市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(1)省内公费师范生(含省级优师专项)>面向长沙市"
                ,"艺术类(物理)招生计划>本科提前批>平行组>2.美术类专业>(2)其他艺术专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>3.舞蹈类专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>4.表演类(服装表演专业)"
                ,"艺术类(物理)招生计划>本科提前批>平行组>5.播音与主持艺术类专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>6.编导类专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>7.表演类(戏剧表演)专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>8.书法艺术与书法教育类专业"
                ,"艺术类(物理)招生计划>本科提前批>平行组>9.摄影摄像类专业"
                ,"艺术类(历史)招生计划>一、本科提前批>非平行组>1.按独立设置艺术院校招生政策招生的院校（专业）"
                ,"艺术类(历史)招生计划>一、本科提前批>非平行组>2.其他院校（专业）"
                ,"艺术类(历史)招生计划>二、本科批>非平行组");
//        String source = "xxx>11223>3333,xxx>11,yyy>aabc>123,yyy>abc>123";

        String[][] sourceArr = parseSource(list.toArray(new String[list.size()]));
        List<TreeNode> resultTree = new ArrayList<>();
        for (String[] arr : sourceArr) {
            loadTree(resultTree, arr,StringUtils.EMPTY,String.join(">", arr));
        }
        // resultTree转换为json字符串
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        String json = gson.toJson(resultTree);
        System.out.println(json);
    }

    private static String[][] parseSource(String[] sourceArr) {
//        String[] sourceArr = source.split(",");
        String[][] result = new String[sourceArr.length][];
        for (int i = 0; i < sourceArr.length; i++) {
            result[i] = sourceArr[i].split(">");
        }
        return result;
    }

    private static void loadTree(List<TreeNode> tree, String[] arr,String parentCode,String tag) {
        if (arr.length == 0) return;
        String node = arr[0];
        String code = parentCode + StringUtils.leftPad(String.valueOf(tree.size() + 1), 2, "0");
        for (TreeNode child : tree) {
            if (child.name.equals(node)) {
                loadTree(child.children, removeFirst(arr),child.code,tag);
                if(arr.length*2 == code.length()){
//                    System.out.println(code+"_"+tag);
                }
                return;
            }
        }
        TreeNode newNode = new TreeNode(code,node);
        tree.add(newNode);
        loadTree(newNode.children, removeFirst(arr),code,tag);
    }

    private static String[] removeFirst(String[] arr) {
        String[] result = new String[arr.length - 1];
        System.arraycopy(arr, 1, result, 0, arr.length - 1);
        return result;
    }
}
