Maluquice
Basicamente serve para converter linhas separadas por caractere especial em um Json.
by Rodrigo Portillo
HTML
<pre id="ver">
</pre>
JavaScript
var arrOriginal = [];
arrOriginal.push("Chave<~valor1");
arrOriginal.push("Chave<~valor2");
arrOriginal.push("Chave<~valor3");
arrOriginal.push("Chave<~valor4");
arrOriginal.push("Chapolim<~Tripa Seca<~Episodio2");
arrOriginal.push("Chapolim<~Tripa Seca<~Episodio3");
arrOriginal.push("Chapolim<~Tripa Seca<~Episodio4");
arrOriginal.push("Chapolim<~Quase Nada<~Episodio9");
arrOriginal.push("Chapolim<~Quase Nada<~Episodio10");
arrOriginal.push("AULA<~PROF GIRAFALLES<~KIKO<~NOTAS DO SEMESTRE<~8");
arrOriginal.push("AULA<~PROF GIRAFALLES<~KIKO<~NOTAS DO SEMESTRE<~7.5");
arrOriginal.push("AULA<~PROF GIRAFALLES<~POPS<~NOTAS DO SEMESTRE<~2.5");
arrOriginal.push("AULA<~PROF GIRAFALLES<~POPS<~NOTAS DO SEMESTRE<~2.5");
var objeto = [];
function gerarObjetoJson(arr){
var n = 0; // índice
var lastTemp = "";
arr.forEach(function(entry) {
var line = "{";
var fecha = "";
var aline = entry.split("<~");
var temp = [];
temp = temp.concat(aline);
temp.pop();
console.log(temp.toString());
if(lastTemp != temp.toString()){
lastTemp = temp.toString();
n = 0;
}
for(var i=0; i < aline.length-1; i++){
if(i == aline.length-2){
line += "\"" + aline[i] + "\":{\"" + n + "\":";
}else{
line += "\"" + aline[i] + "\":{";
fecha += "}";
}
}
line = line + '"' + aline[aline.length-1] + '"}' + fecha + "}";
line = (JSON.parse(line));
objeto.push(line);
n++;
});
objeto = combinar(objeto); //Combinar em um único objeto
}
function combinar(arr){
var result = {};
var curr = {};
for(var i=0; i < arr.length; i++){
curr = arr[i];
result = $.extend(true, result, curr);
}
return result;
}
//Apenas visualizar
function ver(){
//Fazer acontecer
gerarObjetoJson(arrOriginal);
$("#ver").html(JSON.stringify(objeto, null, 2));
}
ver();