我需要通过从csv中读取内容来创建一个像这样的JSON结构。
[
{
"firstName": "John","lastName": "Smith","udas": [
{
"name": "UDF1","dataType": "number","value": 0
}
]
}
]
我得到的结构是
[{
"firstName": "Michael","lastName": "Dodd"
},{
"udas": [{
"name": "UDF1","entityCode": 0
}]
}]
从文件读取没有问题,但是格式化JSON是一个问题。如何消除“ udas”数组周围多余的花括号?
这是我正在使用的代码。
public class MyTestClass {
public static void main(String[] args) {
String row;
String[] data = {};
ObjectMapper objectMapper = new ObjectMapper();
try {
BufferedReader csvReader = new BufferedReader(new FileReader("res/mydata.csv"));
row = csvReader.readLine();
data = row.split(",");
csvReader.close();
} catch (IOException e) {
e.printStackTrace();
}
ArrayNode arrayNode = objectMapper.createArrayNode();
ObjectNode personObjectNode = objectMapper.createObjectNode();
personObjectNode.put("firstName",data[0]);
personObjectNode.put("lastName",data[1]);
arrayNode.add(personObjectNode);
ArrayNode udaArrayNode = objectMapper.createArrayNode();
ObjectNode approvalAuthorityObjectNode = objectMapper.createObjectNode();
approvalAuthorityObjectNode.put("name","UDF1");
approvalAuthorityObjectNode.put("dataType","number");
approvalAuthorityObjectNode.put("entityCode",Integer.parseInt(data[15]));
udaArrayNode.add(approvalAuthorityObjectNode);
ObjectNode udaObjectNode = objectMapper.createObjectNode();
udaObjectNode.putPOJO("udas",udaArrayNode);
arrayNode.add(udaObjectNode);
System.out.println(arrayNode.toString());
}
}