Estoy tratando de hacer una prueba con HTML, CSS y JavaScript. Ahora estoy tratando de ver si jsonData funciona pero recibo este mensaje de error pero no puedo encontrar dónde está el carácter inesperado (dice línea 1 columna 2) pero no lo veo Otra cosa ¿lo estoy haciendo bien? Acabo de empezar este año con la codificación
var jsonData = [ { "q1": { "question": "what is the Capital city of Australia ", "answers": { "a": "Melbourne", "b": "Sydney", "c": "Caneberra", "d": "Brisbane" }, "correctAnswers": "c" } }, ] const me = JSON.parse(jsonData) console.log(me.correctAnswers);Los problemas ya se han señalado en los comentarios de TJ Crowder y Samball , pero quería mostrarles la diferencia entre una estructura de datos JavaScript y una cadena JSON que debe analizarse para que pueda comprender mejor sus comentarios.
Aquí un pequeño programa para ilustrar lo que acabo de escribir.
// this needs to be parsed so you can access it as JS data structures const stringData = `[ { "q1": { "question": "what is the Capital city of Australia ", "answers": { "a": "Melbourne", "b": "Sydney", "c": "Caneberra", "d": "Brisbane" }, "correctAnswers": "c" } } ]`; // no need for this to be parsed, as it already is a JS data strucure (an array in this case) const alreadyJavaScript = [ { "q1": { "question": "what is the Capital city of Australia ", "answers": { "a": "Melbourne", "b": "Sydney", "c": "Caneberra", "d": "Brisbane" }, "correctAnswers": "c" } }, // In JavaScript this comma is fine, in JSON it is not! ] // parse string const me = JSON.parse(stringData) // now print both to see that they are in fact identical // Keep in mind it's an array not an object! console.log(me[0]); console.log(alreadyJavaScript[0])Nota: Si bien está perfectamente bien poner un
,al final del último elemento en JavaScript, ¡JSON no lo permite!