【问题标题】:Autowire json value in springboot from yaml来自yaml的springboot中的自动装配json值
【发布时间】:2017-09-09 02:23:58
【问题描述】:

如何在 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"}

配置类

@Configuration
public class ConfigurationServiceClientConfiguration {

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

    @Bean
    public String getInvoiceAddress(){
        System.out.println(invoiceAddress);
        return this.invoiceAddress;
    }
}

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

注意: 我还没有准备好将 json 更改为列表,因为会有更多 jsons(invoiceAddress)来,我将不得不为每个列表。因此,如果可以将 json 原样复制到 yaml 文件中,对我来说很容易。

【问题讨论】:

标签: java json spring spring-boot yaml


【解决方案1】:

单引号转义 YAML 属性值中的所有特殊字符。 只需尝试将字符串添加到单引号“PropertiesValue”中。

例如:

invoiceAddress: '{"name":"VIA Pics AB","address1":"VIA Pics AB","address2":"Mejerivägen 3","zipCode":"11743","city":"STOCKHOLM","countryCode":"SE","email":"w.ho@Pics.fr"}'

【讨论】:

    【解决方案2】:

    如果你想作为一个计划字符串,你应该在单引号“你的价值”之间添加这个值。在你的 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"}'
    

    【讨论】:

      【解决方案3】:

      尝试如下修改你的 yml 文件:

      衬衫休息预订: invoiceAddress: "\"name\":\"VIA Pics AB\",\"address1\":\"VIA Pics AB\",\"address2\":\"Mejerivägen 3\",\"zipCode\": \"11743\",\"city\":\"STOCKHOLM\",\"countryCode\":\"SE\",\"email\":\"w.ho@Pics.fr\""上一页>

      【讨论】:

        猜你喜欢
        • 2017-05-31
        • 1970-01-01
        • 2015-07-14
        • 2015-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-24
        • 1970-01-01
        相关资源
        最近更新 更多