问题是,当我尝试使用 Snakeyaml 序列化数据时,它会出现格式错误,但是当我使用 jsonslurper 执行相同操作时,所有内容都格式完美。
map 是这样的
gateway_splunky:[appToken:samplekey14124fggfs], MySpaceCredentials:[credentials:[samplekey352453sdffgsdfs, dasklkldsakadsp32525902j5, j6klj65kj45kkj45h, 3hjhjk3h34kjh34k34]]
序列化后
yamlOutput = new Yaml().dump(map)
等于
gateway_splunky: {appToken: samplekey14124fggfs}
MySpaceCredentials:
credentials: [samplekey352453sdffgsdfs, dasklkldsakadsp32525902j5,
j6klj65kj45kkj45h, 3hjhjk3h34kjh34k34]
JSON 是相等的
prettyJson = groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(map))
{
"gateway_splunky": {
"appToken": "samplekey14124fggfs"
},
"MySpaceCredentials": {
"credentials": [
"samplekey352453sdffgsdfs",
"dasklkldsakadsp32525902j5",
"j6klj65kj45kkj45h",
"3hjhjk3h34kjh34k34"
]
},
最佳答案
使用dumpAsMap()
相反
import org.yaml.snakeyaml.*
Map map = [
gateway_splunky: [appToken: 'samplekey14124fggfs'],
MySpaceCredentials: [
credentials: [
'samplekey352453sdffgsdfs',
'dasklkldsakadsp32525902j5',
'j6klj65kj45kkj45h',
'3hjhjk3h34kjh34k34'
]
]
]
new Yaml().dumpAsMap(map)
生成:
gateway_splunky:
appToken: samplekey14124fggfs
MySpaceCredentials:
credentials:
- samplekey352453sdffgsdfs
- dasklkldsakadsp32525902j5
- j6klj65kj45kkj45h
- 3hjhjk3h34kjh34k34
关于java - 在groovy中使用snakeyaml序列化hashmap时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950411/