来自Yaml的Springboot中的Autowire JSON值

smi*_*ace 1 java spring json yaml spring-boot

如何在Spring Boot应用程序中从yaml文件中以字符串形式读取json?

我需要将json作为字符串/ json对象获取。

Application.yml

Shirt:
 rest:
  booking:
   invoiceAddress: {"name":"VIA Pics AB","address1":"VIA Pics AB","address2":"Mejerivägen 3","zipCode":"11743","city":"STOCKHOLM","countryCode":"SE","email":"w.ho@Pics.fr"}
Run Code Online (Sandbox Code Playgroud)

配置类

@Configuration
public class ConfigurationServiceClientConfiguration {

    @Value("${Shirt.rest.booking.invoiceAddress}")
    private String invoiceAddress;

    @Bean
    public String getInvoiceAddress(){
        System.out.println(invoiceAddress);
        return this.invoiceAddress;
    }
}
Run Code Online (Sandbox Code Playgroud)

还尝试了@JsonProperty但不知道我的用法是否错误!

注意: 我还没有准备好将json更改为列表,因为将会有更多的json(invoiceAddress)出现,因此我必须为每个列表制作一个json。因此,如果可以将json直接复制到yaml文件,这对我来说很容易。

Bhu*_*yal 5

如果要用作计划字符串,则应在单引号“您的值”之间添加此值。在您的yml文件中

Shirt:
 rest:
  booking:
   invoiceAddress: '{"name":"VIA Pics AB","address1":"VIA Pics AB","address2":"Mejerivägen 3","zipCode":"11743","city":"STOCKHOLM","countryCode":"SE","email":"w.ho@Pics.fr"}'
Run Code Online (Sandbox Code Playgroud)