2016-07-14 78 views
0

我想新的元素添加到JSON ...添加元素JSON

var estudiantes = [ 
 
\t \t {"Nombre":"Fernando","Codigo":"F50","Nota":100} 
 
\t \t ];

,这是要添加的元素的功能,但犯规的作品...

function addEstudiantes(){ 
 
    var nombre = prompt("Ingrese el nombre del estudiante: "); 
 
\t var codigo = prompt("Ingrese el codigo del estudiante: "); 
 
\t var nota = prompt("Ingrese la nota del estudiante: "); 
 
\t /*agregar registro al JSON*/ 
 
\t var objeto = JSON.parse(estudiantes); 
 
\t objeto.push('{"Nombre":"'+nombre+'","Codigo":"'+codigo+'","Nota":'+nota+'}'); 
 
\t estudiantes = JSON.stringify(objeto); 
 
}

+1

试试看:'objeto.push({ “农布雷”:农布雷, “Codigo”:codigo, “诺塔”:诺塔});' – Hackerman

回答

0

你的问题是,你不和JSON的工作,你有对象的JavaScript数组工作,但试图JSON字符串,而不是对象推到它

尝试

function addEstudiantes(){ 
    var nombre = prompt("Ingrese el nombre del estudiante: "); 
    var codigo = prompt("Ingrese el codigo del estudiante: "); 
    var nota = prompt("Ingrese la nota del estudiante: "); 
    // create new object 
    var objeto = {"Nombre":nombre,"Codigo":codigo,"Nota":nota}; 
    //push object into array 
    estudiantes.push(objeto); 
} 
0

如果你是在工作js,你不需要像字符串一样工作,你需要用对象来工作。

var linea= []; 
 
var persona = new Object(); 
 
var objeto = new Object(); 
 
function addEstudiantes(){ 
 
    var nombre = prompt("Ingrese el nombre del estudiante: "); 
 
    var codigo = prompt("Ingrese el codigo del estudiante: "); 
 
    var nota = prompt("Ingrese la nota del estudiante: "); 
 
    // create new object  
 
    persona.nombre=nombre; 
 
    persona.codigo=codigo; 
 
    persona.nota=nota; 
 
    linea.push(persona); 
 
    
 
    } 
 
function generarjson(){ 
 
    objeto.estudiantes=linea; 
 
    alert(JSON.stringify(objeto)); 
 
    } 
 
    
 
<button onclick="addEstudiantes();">Agregar estudiante</button> 
 
<button onclick="generarjson();">Generar JSON</button>