es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo obtener un objeto JSON con Curl sin formato de nueva línea, retorno de carro, pestañas, etc., como una sola línea?

Quiero obtener un objeto JSON de la API de Direcciones de Google. La respuesta de la API de Google está formateada en JSON con saltos de línea de esta manera:

{
geocoded_waypoints: [
{
geocoder_status: "OK",
place_id: "ChIJpws0Ra-DnkcRHLPUqU7qpiM",
types: [
"route"
]
}
]
}

Pero necesito la respuesta en una sola línea, sin formato.

¿Puedo hacer esto con curl? Descargué la versión más nueva.

Ya intenté esto:

1) Esta versión pone cada línea en una fila en la base de datos

COPY "routing_import_gm" ("request") FROM PROGRAM 'curl "https://maps.googleapis.com/maps/api/directions/json?origin=48.xxxxxx,+11.yyyyyy&destination=48.xxxxxx,+11.yyyyyyy&key=***"';

2) Causa errores:

COPY "routing_import_gm" ("request") FROM PROGRAM 'curl "https://maps.googleapis.com/maps/api/directions/json?origin=48.xxxxxx,+11.yyyyyy&destination=48.xxxxxx,+11.yyyyyyy&key=***" | tr -d ''\n'' ';

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes obtener la respuesta de la API de Google en una sola línea utilizando curl. Una forma de hacerlo es utilizando el comando “tr” para eliminar los saltos de línea. Sin embargo, en el segundo ejemplo proporcionado, parece haber un problema con la sintaxis del comando ya que está causando errores. El comando correcto para eliminar los saltos de línea utilizando “tr” sería:

    COPY "routing_import_gm" ("request") FROM PROGRAM 'curl "https://maps.googleapis.com/maps/api/directions/json?origin=48.xxxxxx,+11.yyyyyy&destination=48.xxxxxx,+11.yyyyyyy&key=***" | tr -d "\n"';
    

    Esto debería eliminar los saltos de línea de la respuesta de la API de Google y almacenar el objeto JSON en una sola línea en la tabla “routing_import_gm” en la base de datos PostgreSQL.

Comments are closed.