【发布时间】:2020-01-18 23:40:15
【问题描述】:
有没有办法将字段和值转换为 Java 代码。 例如,我有以下 JSON:
{
"name":"Example",
"description":"An example",
"process_1": {
"name":"My process-1",
"image":"Docker Image",
"command":["command", "file_name"],
"arguments":["--arg"]
},
"process_2": {
"name":"My process-2",
"image":"Docker Image",
"command":["command", "file_name"],
"arguments":["--arg"]
}
.
.
.
.
"process_n": {
"name":"My process-n",
"image":"Docker Image",
"command":["command", "file_name"],
"arguments":["--arg"]
}
}
现在我想将所有键作为变量及其对应的值在 java 中获取。 请注意,JSON 中的字段名称不是恒定的,即 JSON 文件是每次使用不同的字段名称动态创建的。名称和描述字段以及进程内的字段是常量。但不是流程字段。
例如,在 Java 中它应该是这样的:
String name = "Example"
String description = "An Example"
String process_1_name = "My process-1"
String process_2_command = ["command", "file_name"]
我也不知道如何将级联字段存储为“process-1”。
【问题讨论】:
-
我不知道有什么库可以从 json 创建一个完整的对象,除了一些在线生成器
-
您需要一个 Hashmap
,而不是变量。另外 process-1不能是变量 -
您可以使用 Jackson 框架将所有细节放入 Java 对象中。
-
你也想要嵌套键吗?
-
可以使用Jackson中的JsonNode来获取process-1和process-2。 stackoverflow.com/questions/3653996/…