使用解析YAML,遇到大括号{}等特殊符号报错,如何解决

时间:2025-04-05 07:26:43
while parsing a flow mapping in 'reader', line 54, column 7: - {key: /test/{id}, id: ... ^ expected ',' or '}', but got { in 'reader', line 54, column 30: - {key: /test/{id}, id: 123} ^ at org.yaml.snakeyaml.parser.ParserImpl$ParseFlowMappingKey.produce(ParserImpl.java:732) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:217) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:144) at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:191) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:142) at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:239) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:230) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:218) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:144) at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:239) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:230) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:218) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:144) at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:85) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:108) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:141) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:525) at org.yaml.snakeyaml.Yaml.load(Yaml.java:468) at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:385) at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:384) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:236) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:706) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4855) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5549) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)