En Excel, he creado una hoja de cálculo que me gustaría convertir a JSON para mi proyecto de VS Code. Actualmente solo estoy usando un convertidor de CSV a JSON en línea https://www.convertcsv.com/csv-to-json.htm , sin embargo, mi problema es que parece que no puedo encontrar una manera de formatearlo para que utiliza arreglos de objetos. p.ej
"arr": [ {"id":1, "name": "obj1"}, {"id":2, "name": "obj2"}, ]La salida se ve así:
[ { "arr": { "id": [ 1, 2 ], "name": [ "obj1", "obj2" ] } } ]¿Alguien sabe cómo formatear en Excel para obtener la matriz de objetos deseada? De lo contrario, ¿alguien puede indicarme la dirección correcta para un script que lo convierta correctamente? ¡Gracias!
EDITAR Para agregar a lo anterior, debería haber sido más claro. Entiendo que las filas iniciales en una hoja de cálculo de Excel se convertirán en objetos cuando se analicen como JSON, pero lo que estoy tratando de lograr es convertir a JSON con matrices anidadas. Entonces, por ejemplo, mi salida deseada sería:
"arr":[ { "id": 1, "objects":[ {"id": 1, "name": "obj1"} {"id": 2, "name": "obj2"} ] } { "id": 2, "objects":[ {"id": 1, "name": "obj1"} ] } ]Dados los siguientes datos CSV, por ejemplo:
id,name 1,foo 2,bar Puede analizarlo de la siguiente manera, donde csv es la cadena que contiene datos CSV:
// split whole CSV into separated lines const lines = csv.split("\n"); // split the first line to get properties count and names const keys = lines[0].split(","); const array = []; // iterate over the rest of lines, notice we start at 1 for(let i = 1 ; i < lines.length; ++i) { // split line to get values const values = lines[i].split(","); // create new object const dict = {}; // fill object with keys and values for(let k = 0; k < keys.length; ++k) { dict[keys[k]] = values[k]; } // add object to array array.push(dict); }