当前位置: 首页 > 知识库问答 >
问题:

包含逗号的字符串列表的Spring Boot YAML配置

姬振
2023-03-14

我使用的是Spring Boot版本1.5.22,因为它与Java 7兼容-传统的东西,博物馆级的,不要使用。

我需要一个字符串数组,其中包含用于Spring Boot的YAML配置中的逗号。问题是,这个旧的Spring Boot并不完全支持所有YAML特性,即阵列的实现有点不规范。

对于其他字符串数组(不包含逗号),我使用以下命令:

YAML:

element:
  list: >
    aaaa,
    bbbb

Java:

@Value("${element.list}")
protected String[] elementList;

但是,使用逗号时,以下内容要么以空数组结束,要么忽略我尝试的任何转义,并被所有逗号分割:

YAML:

element:
  list: >
    aa,aa,
    bb,bb
element:
  list: >
    "aa,aa",
    "bb,bb"
element:
  list: >
    'aa,aa',
    'bb,bb'
element:
  list: >
    aa\,aa,
    bb\,bb
element:
  list: [
    "aa,aa",
    "bb,bb"
  ]
element:
  list:
    - aa,aa
    - bb,bb
element:
  list:
    - "aa,aa"
    - "bb,bb"

共有1个答案

叶阳
2023-03-14

看起来这个旧版本的Spring Boot使用逗号分割阵列,并忽略任何转义尝试。我最终得出以下结论:

YAML(使用分号而不是逗号):

element:
  list: >
    aa;aa,
    bb;bb

Java(替换)-

@Value("${element.list}")
protected String[] elementList;

@PostConstruct
private void postConstruct() {
    for (int i = 0; i < elementList.length; i++) {
        elementList[i] = elementList[i].replace(";", ",");
    }
}

 类似资料:
  • 两行的一个例子是:([a,b,c],d)和([d,e],a)我想把这些行转换成([a,b,c],[d,e])和([d,e],[a,b,c]) dataframe的列名是“src”和“dst”。 我如何处理这个问题?

  • 问题内容: 我正在尝试使用csv文件读取文件,但某些字段是包含逗号的字符串。字符串用引号引起来,但是numpy不能将引号识别为定义了单个字符串。例如,使用“ t.csv”中的数据: 编码 产生错误: ValueError:检测到一些错误!第2行(获得4列而不是3列) 我正在寻找的数据结构是: 查看文档,我看不到任何解决方案。有没有办法用numpy做到这一点,或者我只需要使用模块读入数据,然后将其转

  • 问题内容: 这是当前结果,可以每天更改 我需要帮助的是在下面实现此结果。 问题答案: 使用:

  • 问题内容: 你最好采用哪种方法来连接序列中的字符串,以便在每两个连续对之间添加一个逗号。也就是说,例如,你如何映射到(案例和该分别映射到和。) 我通常会使用类似的东西,但也会感到有些不满意。 问题答案: 如果列表包含数字,则此功能将无效。 并且如果列表包含非字符串类型(such as integers, floats, bools, None),则执行以下操作:

  • 本文向大家介绍在Java中将字符串列表转换为逗号分隔的字符串,包括了在Java中将字符串列表转换为逗号分隔的字符串的使用技巧和注意事项,需要的朋友参考一下 首先,让我们说以下是我们的String列表- 现在,使用String.join()将其转换为逗号分隔的字符串 示例 以下是在Java中将字符串列表转换为逗号分隔的字符串的程序- 输出结果

  • 问题内容: 我正在使用JSON.Net作为c#和Razor视图引擎中的大型MVC 3 Web应用程序的序列化器。对于一个视图中的初始页面加载,在脚本标记中使用倾倒了大量JSON 。 问题在于某些对象的某些值包含撇号(例如O’Brien之类的名称),JSON.Net不会以任何方式转义或编码。 不能对存储在数据库中的值进行预编码,因为这会使其他各种过程变得非常复杂。 有没有一种方法可以强制JSON.N