Posible duplicado:
Parse Perl array
Estoy tratando de editar un antiguo script de Perl y soy un principiante completo. La solicitud del servidor devuelve como:
$result = {
"data": {
"translations": [
{
"translatedText": "Halloween"
}
]
}
}
¿Cómo puedo analizar esta cadena JSON para agarrar:
$result = "Halloween"
Gracias.
Respuestas
2 para la respuesta № 1#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
use JSON;
my $json = "{
"data": {
"translations": [
{
"translatedText": "Halloween"
}
]
}
}";
my $data = decode_json($json);
say $data->{data}{translations}[0]{translatedText};
1 para la respuesta № 2
Hay innumerables módulos de análisis JSON disponibles; El más estándar es uno JSON.
0 para la respuesta № 3
Podría tomar el camino fácil y hacerlo de esta manera (no verificó si esto se compila):
my $translatedText = ""
if ($result =~ /"translatedText": "(.+?)"/)
{
$translatedText = $1;
}
Si desea analizar más elementos y cadenas json diferentes, debe utilizar algún módulo perl (hay algunos disponibles)