Jolt 不要将 json 转换为另一个 json

Jolt don't transform json to another json

我正在使用 Java 11、spring boot 2.1.9 和 jolt(核心和实用程序)0.1.1 在 Ubuntu

上编写项目

我有下一个JSON来源:

{
  "restaurant": {
    "rating": {
      "value": 3
    },
    "address": {
      "value": "India"
    }
  }
}

我有以下规范文件:

[
  {
    "operation": "shift",
    "spec": {
      "restaurant": {
        "rating": {
          "value": "Restaurant Rating"
        }
      }
    }
  }
]

关于我期望的下一个输出 json:

{
  "Restaurant Rating" : 3
}

我写了一个简单的测试来检查这个:

List<Object> specs = JsonUtils.jsonToList(Files.readString(Paths.get("path/to/spec.json")));
Chainr converter = Chainr.fromSpec(specs);
Object inputJSON = JsonUtils.toJsonString(Files.readString(Paths.get("path/to/example.json")));
Object transformedOutput = converter.transform(inputJSON);
System.out.println(JsonUtils.toPrettyJsonString(transformedOutput));

但是变量transformedOutput总是null

请告诉我哪里做错了。

jsonToObject 将获取输入 json 作为对象并映射到规范

    List specs = JsonUtils.jsonToList(Files.readString(Paths.get("path/to/spec.json")));
    Chainr converter = Chainr.fromSpec(specs);
    Object inputJSON = JsonUtils.jsonToObject(Files.readString(Paths.get("path/to/example.json")));
    Object transformedOutput = converter.transform(inputJSON);
    System.out.println(JsonUtils.toPrettyJsonString(transformedOutput));

----输出-----

{ "Restaurant Rating":3 }