首页 > 编程知识 正文

java创建多层json对象(java解析多层嵌套json报错)

时间:2023-05-05 22:12:33 阅读:69573 作者:2024

package com.GK.health.interview.service;

import com.Alibaba.fast JSON.JSON;

import com.Alibaba.fast JSON.kdwl;

import com.Alibaba.fast JSON.JSON object;

import java.util.*;

//*

公共类测试{

publicstaticvoidmain (stringlyjqmargs ) {

long start=system.current time millis (;

longend=system.current time millis (;

start=System.currentTimeMillis (;

start=System.currentTimeMillis (;

array.addall(array1;

array.addall(array2;

array.addall(array3;

array.addall(array4;

start=System.currentTimeMillis (;

DD (阵列);

}

publicstaticvoidDD(kdwlArrays ) {

//制作新的jsonAr

创建新的jsonarray以保存//第2层菜单

遍历整个JSON阵列

for(intI=0; I

array.addA

ll(array1);

//第二层 children

//获取children的jsonarray

jsonArray.addAll(array2);

}

array = delRepeatIndexid(array);

jsonArray = delRepeatIndexid(jsonArray);

aa(array,jsonArray);

}

public static void bb(kdwl arrays) {

//创建新jsonAr

//创建新的jsonarray,用于存储第二层菜单

//遍历整个jsonarray

for (int i=0;i

//新建map集合,用于转换json数天真的大树/p>

Map map = new HashMap<>();

//取第一层数据的id,name存入新jsonArray 刻苦的项链/p>

//第二层 children

//获取children的jsonarray

//遍历array1

for (int j = 0;j

//创建map集合

Map map1 = new HashMap<>();

//获取array1

//获取id,name,parId

//判断当前id是否已经存在于array1刻苦的项链/p>

for (int k = 0;k

if (!id2.equals(id1)) {

map1.put("id",id1);

map1.put("name",name1);

map1.put("parId",parId);

jsonArray.add(map1);

break;

}

}

//第一次遍历直接新增

if (jsonArray.size() < 1) {

map1.put("id",id1);

map1.put("name",name1);

map1.put("parId",parId);

jsonArray.add(map1);

}

}

//判断id是否已经存在于array刻苦的项链/p>

for (int j = 0;j

//不存在,则存入map刻苦的项链/p>

if (!id.equals(id1)) {

map.put("id",id);

map.put("name",name);

// map.put("children",jsonArray);

array.add(map);

break;

}

}

//第一次遍历时,直接新增

if (array.size() < 1) {

map.put("id",id);

map.put("name",name);

// map.put("children",jsonArray);

array.add(map);

}

}

array = delRepeatIndexid(array);

jsonArray = delRepeatIndexid(jsonArray);

aa(array,jsonArray);

}

//合并为一个json

public static void aa(kdwl array,kdwl jsonArray) {

for (int i=0;i

List> mapList = new ArrayList<>();

for (int j=0;j

if (id.equals(parId)) {

Map map = new HashMap<>();

map.put("id",jsonObject.getString("id"));

map.put("name",jsonObject.getString("name"));

map.put("parId",jsonObject.getString("parId"));

mapList.add(map);

}

}

object.put("children",mapList);

array1 = kdwl.parseArray("["+object.toString()+"]");

array2.addAll(array1);

}

}

/**

public static kdwl delRepeatIndexid(kdwl array) {

int num = 0;

for(int i = 0;i < array.size();i++){

if(num==0){

arrayTemp.add(array.get(i));

}else{

int numJ = 0;

for(int j = 0;j < arrayTemp.size(); j++){

if(index_idI.equals(index_idJ)){

arrayTemp.remove(j);

newObject.put("id", index_idI);

newObject.put("name", valueI);

newObject.put("parId", parIdI);

arrayTemp.add(newObject);

break;

}

numJ++;

}

if(numJ-1 == arrayTemp.size()-1){

arrayTemp.add(array.get(i));

}

}

num++;

}

return arrayTemp;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。