我正在尝试转换下面的JSON:
发件人:
{
"id": 123,
"name": {
"firstName": "shiva",
"lastName": "kumar"
},
"dateOfBirth": "11/09/2012",
"emailId": "mymail@gmail.com",
"address": {
"addressLine1": "blr",
"addressLine2": "KA"
},
"salary": 12334
}
收件人:
{
"id": 123,
"email": "mymail@gmail.com",
"salary": 12334,
"fullname": {
"firstName": "shiva",
"lastName": "kumar"
},
"fullAdress": "blr KA"
}
**代码:**以下代码仅返回null
。
private JSONObject tranformRequest(String json, String specFile){
URI uri = Thread.currentThread().getContextClassLoader().getResource(specFile).toURI();
String jsonSpec = Files.readAllLines(Paths.get(uri)).stream().collect(Collectors.joining());
JSONArray jsonArray = new JSONArray(jsonSpec);
List<Map<String, Object>> list = new ArrayList<>();
for(int i = 0 ; i < jsonArray.length();i++){
list.add(jsonArray.getJSONObject(i).toMap());
}
Chainr chainr = Chainr.fromSpec(list);// JsonUtils.classpathToList( "/path/to/chainr/spec.json" );
Object output = chainr.transform( json );
return (JSONObject) output;
}
pom.xml
<dependency>
<groupId>com.bazaarvoice.jolt</groupId>
<artifactId>jolt-core</artifactId>
<version>0.1.7</version>
</dependency>
[
1条答案
按热度按时间hc2pp10m1#
如果jolt无法转换您的输入JSON,则返回
null
。因此,它可以用于jolt规范。让我们使用网站的演示版本。也许问题就解决了。
请像jolt-demo网站一样用
0.1.1
版本更新你的软件包,并使用下面的代码。如果你有任何问题,请在评论中说。