如何从属性文件读取值并将其放入JSON文件

时间:2019-07-18 12:23:36

标签: java json spring-boot

我有liquibase.json文件。威胁是:

"runningAs": {
            "username": "Programer200"
          }

我尝试创建自定义属性:

liquibaseuser=root

是否可以将liquibaseuser的值放入liquibase.json?

2 个答案:

答案 0 :(得分:0)

您可以将json解析为模型并更改值。

import com.fasterxml.jackson.databind.ObjectMapper;

public class App
{
    public static void main(String[] args)
    {
        // 1 read property
        String property = "root";
        // 2 read json
        String json = "{\"username\": \"Programer200\"}";
        // 3 map json to model
        ObjectMapper mapper = new ObjectMapper();
        MyModel jsonObject = mapper.readValue(json, MyModel.class);
        // 4 change variables
        jsonObject.username = property;
        System.out.println(mapper.writer().writeValueAsString(jsonObject));
    }
}


class MyModel
{
    public String username;
}

答案 1 :(得分:0)

您可以使用下面的库进行数据访问。

<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.4.0</version>
</dependency

访问数据后,您可以修改Json String。但是首先,您需要获取如下数据。

String user = JsonPath.read(json, "$.runningAs.username");

System.out.println(user);

在您的困境中,似乎您需要键和值,然后您就可以利用地图了。