¿Cómo importar datos JSON desde una url y mostrarlos en un formato legible en Drupal? ¿Qué debo hacer y cómo?

Como Drupal maneja el contenido a través de los nodos, lo más lógico sería probablemente importar los datos JSON como nodos, una vez que los datos son nodos, puede usar cualquier recurso de Drupal (por ejemplo, Display Suite) para formatear los datos de la forma que desee. Para esto tienes dos opciones:

  1. Utilice los módulos Feeds y Feeds JSONPath Parser. Feeds proporciona una interfaz gráfica donde puede establecer la URL de origen y definir las asignaciones para almacenar los datos como nodos. Con trabajo adicional, también podría almacenar los datos en tablas personalizadas.
  2. Utiliza el módulo Migrate. Esto sería más adecuado si su estructura JSON es muy específica y necesita una forma muy específica de analizar los datos. La ventaja de usar Migrate es que permitirá una mayor manipulación de los datos en su forma de importarlos a los nodos (o cualquier entidad objetivo) y proporciona herramientas para rastrear los datos importados (número de elementos totales, elementos importados, elementos restantes ) que también permite revertir según sea necesario. El inconveniente es que requiere que escriba las clases de migración y defina sus asignaciones a través del código que necesita un buen conocimiento en OOP.

Si no necesita almacenar los datos como nodo o tal vez no es adecuado para ser almacenado como nodos, también puede escribir un script personalizado, obtener los datos a través de drupal_http_request (o su equivalente en D8 a través de la solicitud del cliente Http central) y analizan los datos a través de json_decode. Si lo hace de esta manera, podría ser más rápido si sus datos requieren un tratamiento personalizado, pero podría ser difícil de mantener a largo plazo.

También podría, dependiendo de sus necesidades y la complejidad de los datos JSON que se presentarán, omitir la parte de importación y cargar los datos JSON a través de JavaScript y presentarlos directamente en una plantilla personalizada. Si está utilizando jQuery, el método getJSON debe obtener los datos y luego puede usar Lodash para procesarlos y formatearlos en una plantilla personalizada.