private void addFlatList(String key, JsonObject json, List<KV> flat){
json.forEachProperty((s,o) ->{
if(null == o){
flat.add(new KV(key+"."+s,null));
return;
}
if(Beans.isSimpleProperty(o.getClass())){
flat.add(new KV(key+"."+s,o));
return;
}
if(o.getClass().isArray()){
Object[] arrays = (Object[])o;
for (int i = 0; i < arrays.length; i ++){
addFlatList(key+"." + s + "["+i+"]",json.getObject(s),flat);
}
return;
}
if(o instanceof List){
List arrays = (List) o;
for (int i = 0; i < arrays.size(); i ++){
addFlatList(key+"." + s + "["+i+"]",json.getObject(s),flat);
}
return;
}
addFlatList(key+"."+s,json.getObject(s),flat);
});
}
}