我想使用freemarker
我应该如何创建模板文件?
实体(为方便起见,您可以更改此结构):
@Data
public class Field {
private String name;
private boolean isNested; //
private List<Field> fields;
}
数据:
|--NameA
| false
| null
|
|--NameB
| false
| null
|
|--NameC
| true
| |--NameD
|--false
|--null
|
|--NameE
|--false
|--null
我想要的表达方式:
{
NameA: {
Type: NotNested // not nested, display NotNested
},
NameB: {
Type: NotNested
},
NameC: { // nested, display nested fields
Nested: {
NameD: {
Type: NotNested
},
NameE: {
Type: NotNested
}
}
}
}
答案 0 :(得分:0)
File sqlWriteFile = new File("test.json");
FileOutputStream out = new FileOutputStream(sqlWriteFile);
OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8");
Map<String, Object> objA = new HashMap<>();
Map<String, Object> objC = new HashMap<>();
Map<String, Object> objB = new HashMap<>();
Map<String, Object> objD = new HashMap<>();
// ......
objA.put("objA", objC);
objC.put("objC", objB);
objB.put("objB", objD);
objectMapper.writerWithDefaultPrettyPrinter().writeValue(writer, objA);
结果:
{
"objA":{
"objC":{
"objB":{
...
}
}
}
}