Copié el código de un curso que estoy tomando y arroja un error. El mensaje dice "Se esperaba un objeto JSON, una matriz o un literal" y no estoy completamente seguro de lo que hice mal, ya que soy nuevo en el uso de API (buscar). Aquí está la captura de pantalla de VSCode. https://www.screencast.com/t/D5oreexoCKq .
Además de eso, este es el error que recibo en Chrome. https://www.screencast.com/t/Je4crxQQ4sz6
archivo -----> datos.json
const json = { "books": [ { "title": "Learn to Code", "author": "John Smith", "isbn": "324-23243" }, { "title": "The Adventures JSON", "author": "Jason Jones", "isbn": "3324-2-444" }, { "title": "New Objects", "author": "Jane Doe", "isbn": "2343-234-2433" } ] }archivo -----> aplicación.js
JSON.books.forEach(function(val){ console.log(val); })En un archivo json, no es necesario declarar datos con la palabra clave const .
su data.json debería ser así
{ "books": [{ "title": "Learn to Code", "author": "John Smith", "isbn": "324-23243" }, { "title": "The Adventures JSON", "author": "Jason Jones", "isbn": "3324-2-444" }, { "title": "New Objects", "author": "Jane Doe", "isbn": "2343-234-2433" }] }Su secuencia de comandos en app.js necesita obtener el archivo JSON. Usar el objeto JSON de la manera que lo ha hecho no funcionará. JSON.books no está undefined .
haz algo como
fetch("books.json").then(r=>r.json()).then(({books})=>{ books.forEach(book=>console.log(book)) })en su archivo app.js. Esto supone que book.json se puede encontrar en la misma carpeta que app.js e index.html.