できればXLSをJSONに変換できるアプリケーションがあるかどうか誰か知っていますか?
私はまた、CSVからのコンバーターに落ち着きます。なぜなら、周りに何もない場合は、おそらく自分で書く必要があるからです。
できればXLSをJSONに変換できるアプリケーションがあるかどうか誰か知っていますか?
私はまた、CSVからのコンバーターに落ち着きます。なぜなら、周りに何もない場合は、おそらく自分で書く必要があるからです。
回答:
これは私にとって完璧に機能し、ファイルのアップロードは必要ありません:
私が作ったこのツールを試すことができます:
JSON、XMLなどに変換します。
すべてクライアント側でもあるため、データがコンピューターから送信されることはありません。
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
既存のソリューションが見つからない場合、Javaで基本的なソリューションを構築するのは非常に簡単です。私はクライアント用に1つ書いただけで、調査ツールを含めて数時間しかかかりませんでした。
Apache POIはExcelバイナリを読み取ります。 http://poi.apache.org/
JSONObjectはJSONを構築します
その後は、Excelデータの行を繰り返し処理し、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();
これは私にとっては機能し、クライアント側で実行されます:http : //www.convertcsv.com/csv-to-json.htm
既存のソリューションはどれも機能しなかったので、私はすぐにその仕事をするスクリプトをハッキングしました。また、空の文字列をnullに変換し、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。したがって、コアジャクソンはJSONをPOJO、マップ、などJsonNode
、ほとんど何でも読み込むことができます。また、CSVサポートはCSVでも同じことができます。2つを組み合わせると、非常に強力ですが、複数のフォーマット間の単純なコンバーターになります(XML、YAMLのバックエンドがすでにあり、さらに追加されています)。
これを行う方法を示す記事はここにあります。
これが役立つかどうかを確認します。CSVに戻る-CSVテキストをオブジェクトに変換します。JSON経由
これは、ソリューションを提供するC#コードを含む、2008年11月に公開されたブログ投稿です。
ブログ投稿のイントロから:
Jsonの方がXmlより読み書きが簡単なので、したがって、CSV(カンマ区切り値)は、Jsonよりも読み書きが簡単です。CSVには、Excelやその他のツールも用意されており、簡単に操作および作成できます。したがって、次のアプリの構成またはデータファイルを作成したい場合は、CSVをJSONからPOCOオブジェクトに変換するコードを次に示します