私はJSONデータを持っていますが、残念ながらCSVに解析する方法はありません。私はちょうど勉強を始めて、JSONについての全くの手がかりを持っていません。誰かがそれを手がかりにすることができれば幸いです。複雑なJSONをCSV形式に変換する方法
データは以下のように思える:
{ "名前":[ "ノヴィ"、 "スターリー"]、 "学生名":[[ "ALA"、 "バーシア"、 ""]、[ [[1,2,0]、[2,2]]、[Students surnames]:[["" alowa "、" basiowa "、"]]、[basia]
function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) { var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData; var CSV = ''; CSV += ReportTitle + '\r\n\n'; if (ShowLabel) { var row = ""; //This loop will extract the label from 1st index of on array for (var index in arrData[0]) { //Now convert each value to string and comma-seprated row += index + ','; } row = row.slice(0, -1); //append Label row with line break CSV += row + '\r\n'; } //1st loop is to extract each row for (var i = 0; i < arrData.length; i++) { var row = ""; //2nd loop will extract each column and convert it in string comma-seprated for (var index in arrData[i]) { row += '"' + arrData[i][index] + '",'; } row.slice(0, row.length - 1); //add a line break after each row CSV += row + '\r\n'; } if (CSV == '') { alert("Invalid data"); return; } var fileName = "Zestawienie_"; fileName += ReportTitle.replace(/ /g,"_"); var uri = 'data:text/csv;charset=utf-8,' + escape(CSV); var link = document.createElement("a"); link.href = uri; link.style = "visibility:hidden"; link.download = fileName + ".csv"; document.body.appendChild(link); link.click(); document.body.removeChild(link);
}
:[ "basiowa"、 "basiowaは"]]}
私はこのパーサを試し
しかし、出力(私はすべて1行に持っている)、CSVでのように見え、その非常に醜い:
「ノヴィ、スタリー」、「ALA、バーシア,,バーシア、バーシア」、 "1,2,0 、2,2" 、 "alowa、basiowa ,, basiowa、basiowa"
とにかくこの関数はそれのようにJSONのために働く:
{ "車": "BMW"、 "日付": "30、Jul 2013 09:24 AM"、 "Location": "Delhi、ニューデリー、ニューデリーのHauz Khas"、 "Speed":42} {"車両": "Audi"、 "Date" 30、Jul 2013 09:24 AM "、" Location " : "Hauz Khas、ニューデリー、デリー、インド"、 "スピード":42}。
ネストされたオブジェクトを扱うことはできないようです。ここで
「誰かがスクリプトを書くことができれば素晴らしいだろう」---あなたのためにそれをする人を雇うことができる。 – zerkms
HTML表現が必要な場合は、「\ r \ n」を「
」に変更してください。 – FieryCat
@zerkms悪い表現を申し訳ありません。 – mrmumu24