gpt4 book ai didi

java - 如何使用 freemarker 生成嵌套实体

转载 作者:太空宇宙 更新时间:2023-11-04 10:44:56 24 4
gpt4 key购买 nike

我想使用 freemarker 创建一个包含嵌套实体的 json 文件

我应该如何创建模板文件?

实体(为了方便起见,您可以更改此结构):

@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
}
}
}
}

最佳答案

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":{
...
}
}
}
}

关于java - 如何使用 freemarker 生成嵌套实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48519837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com