将CSV / XLS转换为JSON?
有谁知道是否有应用程序,让我最好将XLS转换为JSON?
我也会selectCSV格式的转换器,因为如果没有任何东西,我可能最终不得不写下自己的文件。
这对我来说是完美的,不需要file upload:
你可以试试我制作的这个工具:
数据转换器先生
它转换为JSON,XML和其他。
这也是所有的客户端,所以你的数据永远不会离开你的电脑。
如果你找不到现有的解决scheme,用Java构build一个基本的解决scheme是相当容易的。 我只为一个客户写了一个,只用了几个小时,包括研究工具。
Apache POI将读取Excel二进制文件。 http://poi.apache.org/
JSONObject将构buildJSON
之后,只需要遍历Excel数据中的行并构build一个JSON结构即可。 这是一些基本用法的伪代码。
FileInputStream inp = new FileInputStream( file ); Workbook workbook = WorkbookFactory.create( inp ); // Get the first Sheet. Sheet sheet = workbook.getSheetAt( 0 ); // Start constructing JSON. JSONObject json = new JSONObject(); // Iterate through the rows. JSONArray rows = new JSONArray(); for ( Iterator<Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext(); ) { Row row = rowsIT.next(); JSONObject jRow = new JSONObject(); // Iterate through the cells. JSONArray cells = new JSONArray(); for ( Iterator<Cell> cellsIT = row.cellIterator(); cellsIT.hasNext(); ) { Cell cell = cellsIT.next(); cells.put( cell.getStringCellValue() ); } jRow.put( "cell", cells ); rows.put( jRow ); } // Create the JSON. json.put( "rows", rows ); // Get the JSON text. return json.toString();
由于Powershell 3.0(随Windows 8一起提供, 可用于Windows 7和Windows Server 2008而不是Windows Vista),您可以使用内置的convertto-json命令行开关:
PS E:> $topicsjson = import-csv .\itinerary-all.csv | ConvertTo-Json PS E:\> $topicsjson.Length 11909 PS E:\> $topicsjson.getType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array
Technet上的在线帮助页面
这适用于我和运行客户端: http : //www.convertcsv.com/csv-to-json.htm
现有的解决scheme都没有工作,所以我很快就把一个可以完成这个工作的脚本一起黑了。 也将空string转换为空值,并将JSON的标题行分隔开。 可能需要根据CSV方言和字符集进行调整。
#!/usr/bin/python import csv, json csvreader = csv.reader(open('data.csv', 'rb'), delimiter='\t', quotechar='"') data = [] for row in csvreader: r = [] for field in row: if field == '': field = None else: field = unicode(field, 'ISO-8859-1') r.append(field) data.append(r) jsonStruct = { 'header': data[0], 'data': data[1:] } open('data.json', 'wb').write(json.dumps(jsonStruct))
jackson(JSON处理器)的CSV支持,而不是硬编码的转换器: https : //github.com/FasterXML/jackson-dataformat-csv 。 所以核心jackson可以阅读JSON作为POJO,地图, JsonNode
,几乎任何东西。 和CSV支持可以做到这一点与CSV。 结合这两者,它是非常强大,但多种格式之间的简单转换器(有后端的XML,YAML已经和更多被添加)。
显示如何做到这一点的文章可以在这里find。
看看是否有帮助: 返回CSV – 将CSV文本转换为对象; 通过JSON
这是2008年11月发布的博客文章,其中包括提供解决scheme的C#代码。
从博客上的介绍:
由于Json更容易阅读和编写Xml。 因此,CSV(逗号分隔值)更易于阅读和编写Json。 CSV也有工具,如Excel和其他可以轻松处理和创build的工具。 所以,如果你想为你的下一个应用程序创build一个configuration或数据文件,这里有一些代码将CSV转换为JSON到POCO对象