Página 1 de 1

Obtener datos JSON y guardarlos como JSON

NotaPublicado: 2019-03-22 07:31 @354
por alperez
Hola.

Estoy intentando mirar que cuando hago una consulta mediante query a una web y me devuelve la salida en formato JSON cómo poder guardar ese fichero para que no quede todo en una única línea.

Ese fichero luego lo tengo que mandar con rsyslog y creo que me está dando problemas el tratamiento con rsyslog porque está todo en una única línea.

¿Alguna idea?

Re: Obtener datos JSON y guardarlos como JSON

NotaPublicado: 2019-03-22 09:05 @420
por explorer
Puedes usar el módulo JSON, primero para leerlo desde la web, con decode_json, y luego reconvertirlo a JSON con el método to_json. Algo así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/env perl
  2. use v5.14;
  3.  
  4. # Módulos
  5. use JSON;
  6.  
  7. my $json = JSON->new;
  8.  
  9. # Obtenemos el json. Aquí, desde un archivo externo
  10. open my $JSON_FH, '<', 'code_40951_1.json';
  11. my $message = decode_json(join "", <$JSON_FH>);
  12. close $JSON_FH;
  13.  
  14. # Emisión reformateada de los datos
  15. say to_json($message, {utf8 => 1, pretty => 1});
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4