我是靠谱客的博主 无语帅哥,这篇文章主要介绍yaml语法 关于key为中文时的问题,现在分享给大家,希望可以做个参考。

这里主要想讲一下关于key为中文时的情况,关于基础yaml语法就自行百度。

先说结论:

复制代码
1
2
3
4
5
6
7
Yaml语法中的key不要用中文!!! Yaml语法中的key不要用中文!!! Yaml语法中的key不要用中文!!! 其实也不是完全不能为中文,当JavaBean的属性的变量名是中文的时候就可以使用, 但是yaml对中文key好像有各种各样的的bug,比如当JavaBean有多个中文变量名的时候,一个中文key,就会赋值给全部的中文变量。 反正就不要使用中文的key了,感觉中文就是有一些奇怪的问题!!!

以下举例:

JavaBean:

复制代码
1
2
3
4
5
6
@Component @ConfigurationProperties(prefix = "person") @Data // Lombok中的注解,不知道的百度一下 public class Person { private Map<String, Object> score; }

Controller:

复制代码
1
2
3
4
5
6
7
8
9
10
11
@RestController public class TestController { @Autowired Person person; @RequestMapping("/hello") public Person hello(){ // 用于把person以json字符串形式返回 显示结果 return person; } }

key为中文的情况:

yaml文件:

复制代码
1
2
3
4
person: score: 语文: 90 数学: 95

结果:

复制代码
1
2
3
4
5
6
7
8
9
Description: Failed to bind properties under 'person.score' to java.util.Map<java.lang.String, java.lang.Object>: Reason: No converter found capable of converting from type [java.lang.Integer] to type [java.util.Map<java.lang.String, java.lang.Object>] Action: Update your application's configuration

key为英文的情况:

yaml文件:

复制代码
1
2
3
4
person: score: yuwen: 90 shuxue: 95

 结果:

复制代码
1
{"score":{"yuwen":10,"shuxue":10}} // 配置绑定成功

最后

以上就是无语帅哥最近收集整理的关于yaml语法 关于key为中文时的问题的全部内容,更多相关yaml语法内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部