EmEditor will not convert JSON to Excel (or CSV) files by itself. However, you can write a macro to convert JSON to CSV files. If you need support on writing a macro, can you write a small JSON sample, and how you want the output CSV look like?
Updates
This is a macro for you to convert JSON to CSV. It allows up to only one-deep nested structure of JSON. This macro checks if a delimiter (comma) exists in data but does NOT check if a double quotation mark or new line code exists. I also noticed your JSON data contains syntax errors, and I corrected it.
Macro JsonToCsv.jsee :
function AddStr( s1, s2 )
{
if( s2.toString().indexOf( ',' ) != -1 ) {
s2 = '"' + s2 + '"';
}
return s1 + s2;
}
sHeading = "";
sBody = "";
document.selection.SelectAll();
var json = JSON.parse(document.selection.Text);
for( property in json ) {
if( typeof json[property] === 'object' ) {
for( property2 in json[property] ) {
if( sHeading.length != 0 ){
sHeading += ",";
sBody += ",";
}
sHeading = AddStr( sHeading, property2 );
sBody = AddStr( sBody, json[property][property2] );
}
}
else {
if( sHeading.length != 0 ){
sHeading += ",";
sBody += ",";
}
sHeading = AddStr( sHeading, property );
sBody = AddStr( sBody, json[property] );
}
}
editor.NewFile();
document.selection.Text = sHeading + "\r\n" + sBody + "\r\n";
editor.ExecuteCommandByID(22528); // switch to CSV mode
Input:
{
"name": "George Washington",
"birthday": "February 22, 1732",
"first_name": "George",
"last_name": "Washington",
"birthday": "1732-02-22",
"address": {
"street_address": "3200, Mount Vernon Memorial Highway",
"city": "Mount Vernon",
"state": "Virginia",
"country": "United States"
}
}
Output:
name,birthday,first_name,last_name,street_address,city,state,country
George Washington,1732-02-22,George,Washington,"3200, Mount Vernon Memorial Highway",Mount Vernon,Virginia,United States
You can run this macro after you open your data file. To do this, save this code as, for instance, JsonToCsv.jsee, and then select this file from Select... in the Macros menu. Finally, open your data file, and select Run in the Macros menu while your data file is active.