JavaScript - acceso a json

 
Vista:
sin imagen de perfil
Val: 62
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

acceso a json

Publicado por pedro (71 intervenciones) el 19/02/2020 15:17:02
Buenas tardes. Tengo un problema al intentar acceder a los elementos de un json:
Después de hacer a un select de una base de datos mysql ,

var arr = JSON.parse(aux);

obtengo: ( con alert(arr) )
{{"curso":"a"},{"curso":"2EH"},{"curso":"2"},{"curso":"3c"}}

Pero no se cómo puedo acceder a los elementos de curso. He probado con arr[0].curso y me da undefined
con arr[0] me aparece { , como si fuese una cadena.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 40
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

acceso a json

Publicado por Julio (17 intervenciones) el 19/02/2020 16:48:47
Hola.

Prueba esto:

1
2
3
4
5
6
var arr = JSON.parse(aux);
var result = [];
 
for(var i in json_data) {
    result.push([i, json_data[i]]);
}

Y, supuestamente, en result tienes ahora los datos en forma de array.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 62
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

acceso a json

Publicado por pedro (71 intervenciones) el 19/02/2020 17:37:40
Hola Julio.
Gracias por responder. Supongo que json_data es arr.
Sigo sin poder hacerlo. Me aparece un trozo de la cadena.

la cadena que tengo al princicio es "{{\"curso\":\"a\"},{\"curso\":\"2EH\"},{\"curso\":\"2\"},{\"curso\":\"3c\"}}\n"

Y el var arr = JSON.parse(aux); me lo transforma en {{"curso":"a"},{"curso":"2EH"},{"curso":"2"},{"curso":"3c"}}
Lo que necesito es acceder a los datos a , 2EH, 2 y 3c.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 183
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

acceso a json

Publicado por Yamil Bracho (78 intervenciones) el 19/02/2020 18:06:14
Hay algo extraño en tu string. Dado que los objetos son de la misma clase esto deberia ser un arreglo de los mismos. Es decir, el string deberia ser
"[{\"curso\":\"a\"},{\"curso\":\"2EH\"},{\"curso\":\"2\"},{\"curso\":\"3c\"}]"
Al aplicar el json parse te genera un objeto con un arreglo de objetos interno. Asi

1
2
var arr = JSON.parse(aux
console.log(arr[1].Curso);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 62
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

acceso a json

Publicado por pedro (71 intervenciones) el 19/02/2020 18:44:11
Gracias Yamil.
Lo he podido resolver.

1
var aux = JSON.stringify(json1);

hacía un stringify antes del json. Al quitarlo ha funcionado todo correctamente. Ha sido de gran ayuda. Era cierto que la cadena tenía algo raro antes del parse

Gracias a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar