gpt4 book ai didi

java - SnakeYAML 保存不正确

转载 作者:行者123 更新时间:2023-12-01 04:40:57 24 4
gpt4 key购买 nike

我一直在努力设置我的配置以使用 SnakeYAML。我希望我的配置如下所示:

connection:
bind-ip: 0.0.0.0
plugin-port: 2011
rtk-port: 2012
passphrase: abcde12345
updates:
auto-update: true
channel: recommended
build: -1

但结果却是

connection: {bind-ip: 0.0.0.0, connection.passphrase: abcde12345, connection.pluginPort: 2011,
connection.rtkPort: 2012}
updates: {updates.auto-update: true, updates.channel: Recommended, updates.build: -1}

我有一个 LinkedHashMap,我像这样保存:

private LinkedHashMap<String, Map> values;
public void set(String key, Map<String, Object> value) {
values.put(key, value);
}

这是我用来填充/加载配置的方法

private void init() {
Map<String, Object> connection = new LinkedHashMap<String, Object>();

if (exists("connection.bind-ip")) {
bindIp = (String) get("connection.bind-ip");
} else {
connection.put("bind-ip", bindIp);
}

if (exists("connection.passphrase")) {
passphrase = (String) get("connection.passphrase");
} else {
connection.put("connection.passphrase", passphrase);
}

if (exists("connection.pluginPort")) {
pluginPort = (Integer) get("connection.rtkPort");
} else {
connection.put("connection.pluginPort", pluginPort);
}

if (exists("connection.rtkPort")) {
rtkPort = (Integer) get("connection.rtkPort");
} else {
connection.put("connection.rtkPort", rtkPort);
}

if (!(connection.isEmpty())) {
set("connection", connection);
}

Map<String, Object> updates = new LinkedHashMap<String, Object>();

if (exists("updates.auto-update")) {
autoUpdate = (Boolean) get("updates.auto-update");
} else {
updates.put("updates.auto-update", autoUpdate);
}

if (exists("updates.channel")) {
channel = (String) get("updates.channel");
} else {
updates.put("updates.channel", channel);
}

if (exists("updates.build")) {
build = (Integer) get("updates.build");
} else {
updates.put("updates.build", build);
}

if (!(updates.isEmpty())) {
set("updates", updates);
}
}

任何帮助将不胜感激!抱歉有点长

最佳答案

简单的答案。创建 YAML 时,使用 DumperOptions 并设置 DumperOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK) 以及您的设置。不敢相信我错过了:(

关于java - SnakeYAML 保存不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16554746/

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