300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 多层 JSON 转换成 CSV

多层 JSON 转换成 CSV

时间:2021-01-19 10:48:14

相关推荐

多层 JSON 转换成 CSV

【问题】

This is how my json looks like:

{“data” :[{ “f1” : “v1”,“f2” : “v2”,“group” : [{ “f3” : “x1”,“f4” : “y1”,“f5” : “z1”},{ “f3” : “x1”,“f4” : “y2”,“f5” : “z2”},{ “f3” : “x2”,“f4” : “y3”,“f5” : “z3”}]},{ “f1” : “vf1”,“f2” : “vf2”,“group” : [{ “f3” : “x1”,“f4” : “y1”,“f5” : “z1”},{ “f3” : “x1”,“f4” : “y2”,“f5” : “z2”},{ “f3” : “x1”,“f4” : “y3”,“f5” : “z3”}]}]}

I am using the following code to convert it into Csv:

JSONArray array = (JSONArray)json.get(“data”);

String dataCSV = CDL.toString(array);

But this code is giving me “null” in dataCSV.

I want to know why it is getting null in dataCSV and also please provide a solution on “How to get CSV from this JSON ?” or “from a POJO Class to CSV”.

Thanks in advance

【回答】

f1,f2 是上级(相当于分组字段),需要重复拼到下级(相当于组内明细),也就是将多层 json 转为单层(二维表),这样才能输出为 csv。用 SPL 实现这个过程比较简单:

A3 运行结果:

A1:读取 JSON

A2:解析 json 获得 data 节点

A3:提取所需字段生成新序列

A4 输出到 csv 文件

这段代码可以方便地集成进 Java,参考【Java 如何调用 SPL 脚本】。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。