Este es el archivo json al que quiero llamar externamente, es local para mi archivo html en una carpeta llamada 'api' que no se puede editar, ya que en el entorno en vivo no podré hacerlo.
{ "tests": [ { "test_id": "ffc22c5e-1743-49de-9fce-c15df8c15fcc", "url": "https://www.url1.com", "checkrate": 300, "alert_expiration": true, "alert_errors": true, "alert_mixed_content": true, "follow_redirects": true, "first_expiration_reminder": 30, "second_expiration_reminder": 7, "third_expiration_reminder": 1 }, { "test_id": "52744d25-9492-46b6-999d-af2fcdf87296", "url": "https://url1.com/", "checkrate": 86400, "alert_expiration": true, "alert_errors": false, "alert_mixed_content": true, "follow_redirects": true, "first_expiration_reminder": 30, "second_expiration_reminder": 7, "third_expiration_reminder": 1 }, { "test_id": "25f171b8-f248-4f63-8e89-ae4813149670", "url": "https://url3.com/", "checkrate": 600, "alert_expiration": false, "alert_errors": true, "alert_mixed_content": true, "follow_redirects": true } ], "metadata": { "total_size": 3 } }Este es el JS que probé y no funciona cuando se carga en el json, estoy usando una etiqueta de secuencia de comandos en la parte superior de mi página HTML.
var json = require('api/ssltests.json'); //(with path) var ssltests = ''; $.each(json, function(key, value){ if(key === 0) { ssltests += "<div class=\"row\">"; $.each(Object.keys(value), function(k, v) { ssltests += "<div class=\"cell\">" + v + "</div>"; }); ssltests += "</div>"; } ssltests += "<div class=\"row\">"; $.each(Object.keys(value), function(k, v) { ssltests += "<div class=\"cell\">" + value[v] + "</div>"; }); ssltests += "</div>"; });No puede usar require en el lado del cliente. Como ya se mencionó en un comentario, es parte de CommonJS y está disponible para JavaScript del lado del servidor, generalmente en el ámbito de NodeJS. Verifique esta respuesta para más detalles.
Si desea obtener otros archivos, deberá usar la fetch de obtención del navegador para cargar el archivo por usted. Como se mencionó en otro comentario, para probar esto localmente, tendría que generar un servidor web.
Usar una ruta relativa ./ debería funcionar.
var json = require('./api/ssltests.json');