I am having a complex.json file and I want it to convert into CSV file using Java Spring boot.
Below is my complex.json file:
{
"requestId": "1P02XV425KCASEZGQLB8LPQMF4ZXCURRR01",
"recyleBinRecords": [
{
"Record": {
"ProductName": "Name1",
"Id": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01"
"ProductArea": "Area1"
},
"dependecyMaterial": [
{
"Name": "D1",
"id": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01",
"parentid": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01",
"value": "Value1"
},
{
"Name": "d2",
"id": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01",
"parentid": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01",
"value": "value2"
}]},{
"Record": {
"ProductName": "Name2",
"Id": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01",
"ProductArea": "Product2"
},
"dependecyMaterial": [
{
"Name": "D3",
"id": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01",
"parentid": "P1",
"value": "value1"
},
{
"Name": "D4",
"id": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01",
"parentid": "P2",
"value": "value2"
}
]
}
]
}
Below is code I tried but it's giving no column exception.
JsonNode jsonTree = new ObjectMapper().readTree(new File("src/main/resources/complex.json"));
Builder csvSchemaBuilder = CsvSchema.builder();
JsonNode firstObject = jsonTree.elements().next();
firstObject.fieldNames().forEachRemaining(fieldName -> {csvSchemaBuilder.addColumn(fieldName);} );
CsvSchema csvSchema = csvSchemaBuilder.build().withHeader();
CsvMapper csvMapper = new CsvMapper();
csvMapper.writerFor(JsonNode.class)
.with(csvSchema)
.writeValue(new File("src/main/resources/orderLines.csv"), jsonTree);Copy
Need a solution to convert my JSON to CSV in java.
comma (,)on the 7th line (after"Id": "1P02XV425KCASEZGQLB8LPQMF4ZXCUBCTA01").