Estoy tratando de extraer mis datos del archivo JSON. Incluso usé .map() para mapear los datos, pero termina mostrando el error de que result.map() no es una función definida. ¿Cómo muestro datos extraídos?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JSON Test</title> </head> <body> <div id="myData"></div> <!-- Here a loader is created which loads till response comes --> <div class="d-flex justify-content-center"> <div class="spinner-border" role="status" id="loading"> <span class="sr-only">Loading...</span> </div> </div> <h1>Registered Employees</h1> <!-- table for showing data --> <table id="employees"></table> </body> <script src="api1-2.js"></script>> </html>Reemplace response.txt() con response.json() para analizar la respuesta de API al objeto json. con response.text() su resultado está en una cadena, por lo que no tiene un método de mapa y, por lo tanto, el error undefined .
fetch("https://v1.nocodeapi.com/OPENSOURCE12/instagram/gflSSOQjdOHsVnhT", requestOptions) .then(response => response.json()) // 👈 modified .then(result => {console.log(result)}) .catch(error => console.log('error', error));Debe usar response.json() en lugar de response.text() .
Tanto response.json() como response.text() devuelven una promesa, pero response.json() resuelve esa promesa en un objeto de JavaScript, mientras que response.text() resuelve esa promesa en una cadena.
Referencias: