我正在 Ubuntu 上使用 Java 11、Spring Boot 2.1.9 和 jolt(核心和 utils)0.1.1 编写一个项目
我有下一个 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));
----输出-----
{ “餐厅评分”:3 }
关于java - Jolt 不会将 json 转换为另一个 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58316053/