有没有人有任何示例Java代码将JSON文档转换为XLS/CSV文件?我试图在谷歌上搜索,但无济于事。将JSON转换为Java中的XLS/CSV
回答
JSON文档基本上由列表和词典组成。在二维表上映射这样的数据结构没有明显的方法。
如果JSON文件是平面数组,并且所有对象都具有相同的字段名称,则可以将其映射到二维表。请参阅@ Sridhar的示例输入。 –
您可以使用commons csv转换为CSV格式。或者使用POI转换为xls。如果您需要帮助程序转换为xls,则可以使用jxls,它可以使用表达式语言将java bean(或列表)转换为excel。
基本上,json文件可能是一个json数组,对吗?所以它会一样。结果将是列表,并且您只需编写要以excel格式显示的属性,该属性将由jxls读取。请参阅http://jxls.sourceforge.net/reference/collections.html
如果问题是json无法在jxls excel属性中读取,只需将其序列化为java bean的集合。
如何将'{'foo':{'bar':[1,2,3]}}'映射到电子表格? – 2011-08-24 08:02:05
这就是为什么我说,如果json对象是json单个对象,而不是json数组,则结果将是电子表格中的1行。如果json对象是json数组,则这些行将与json数组大小相同。再次,您必须指定要将哪些属性写入该电子表格。如果你的例子,如果你想显示栏(其值是数组),该列将显示可能[email protected],但它是一个数组,正确的。但如果对象是[{name:'a','bar':[1,2,3]},{name:'b','bar':[2,3,4]}],并且您想要只显示名字,这是可行的,对吧? – Jef
您只能将JSON数组转换为CSV文件。
比方说,你有一个像下面这样的JSON:
{"infile": [{"field1": 11,"field2": 12,"field3": 13},
{"field1": 21,"field2": 22,"field3": 23},
{"field1": 31,"field2": 32,"field3": 33}]}
让我们看看代码,将其转换成CSV:
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.json.CDL;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JSON2CSV {
public static void main(String myHelpers[]){
String jsonString = "{\"infile\": [{\"field1\": 11,\"field2\": 12,\"field3\": 13},{\"field1\": 21,\"field2\": 22,\"field3\": 23},{\"field1\": 31,\"field2\": 32,\"field3\": 33}]}";
JSONObject output;
try {
output = new JSONObject(jsonString);
JSONArray docs = output.getJSONArray("infile");
File file=new File("/tmp2/fromJSON.csv");
String csv = CDL.toString(docs);
FileUtils.writeStringToFile(file, csv);
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
现在你得到了JSON生成CSV。
它应该是这样的:
field1,field2,field3
11,22,33
21,22,23
31,32,33
Maven的依赖很喜欢,
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
这里
- 1. 将JSON转换为Java中的XML
- 2. 在java中将RSS源转换为JSON
- 3. 在java中将bean转换为Json
- 4. 将JSON数组转换为Java?
- 5. 通过JAVA将HCSP转换为JSON
- 6. 将Java字符串转换为Json
- 7. 使用Java将xml转换为json
- 8. 如何将JavaInputDStream JSON转换为ElasticSearch JAVA
- 9. 杰森将JSON转换为JAVA
- 10. 将Firebase json转换为Java对象
- 11. 将JSON转换为java解析
- 12. 将Json转换为Java对象
- 13. 如何将java bean转换为json?
- 14. 在java中将嵌套的xml/json转换为纯xml/json
- 15. 从JAVA转换为JSON
- 16. 将图像的元数据转换为Java中的JSON
- 17. 将AWS APIGateway的模型转换为Java中的JSON
- 18. 如何将Badgerfish风格的JSON转换为Java中的XML?
- 19. 将json转换为键值对中的文本的java代码
- 20. 将JSON转换为JSON模式的库
- 21. 将嵌套的JSON转换为平JSON
- 22. 将数组中的类转换为JSON
- 23. 将ByteArrayOutputStream转换为Kotlin中的json
- 24. 将JSON转换为Swift中的对象
- 25. 将xml转换为node.js中的json
- 26. 将JSON转换为Ruby中的hashmap
- 27. 将LinkedIn XML数据转换为Java中的JSON
- 28. 如何在JAVA中将contentType文本/ html的HttpResponse转换为JSON
- 29. 如何将json转换为Java中的ArrayList对象?
- 30. 如何将Json对象转换为java中的BLOB
见太纽约的回答是:http://stackoverflow.com/questions/662859/convert-csv -xls-to-json – JMax
他正在向Json要求CSV ......而不是其他方式。 –