json - 如何在perl中将字符串转换为json

标签 json perl

我对 perl 很陌生,所以请帮助我进行以下操作

我有一个 perl 脚本来执行 telnet 命令。此脚本以字符串形式接收来自服务器的响应。实际上服务器创建了一个 json 字符串,然后将其发送到客户端程序,但客户端程序将其显示为 string
问题:如何将此字符串转换为 json 并从此 json 字符串读取数据。

我有类似于以下结构的 json 字符串

[{"success":"21","data":[{"name":"tester","lastname":"project"}]}]

以下是我尝试将其转换为 json 的最后几行
@lines = $telnet->waitfor('/$/');
my @json;
@json = @{decode_json(@lines)};

它打印输出如下
HASH(0x1af068c)

提前致谢 !!!

最佳答案

这是转换 JSON 的片段。修改以捕获错误。

use strict;
use warnings;
use JSON::XS;
use Try::Tiny;
use Data::Dumper::Concise;

my $data = qq<[{"success":"21","data":[{"name":"tester","lastname":"project"}]}]>;

my $decoded;

try {
    $decoded = JSON::XS::decode_json($data);
}
catch {
    warn "Caught JSON::XS decode error: $_";
};

print Dumper $decoded;

关于json - 如何在perl中将字符串转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8655487/

相关文章:

php - 在 CodeIgniter 中检索 JSON POST 数据

json - 将对象转换为可编码对象失败

html - 使用 CGI 处理表单数据

mysql - 执行语句是否总是为结果集占用内存?

perl - 在 Perl 中,如何判断字符串是否是数字?

java - Jackson:JsonBackReference - 无限递归问题

javascript - 将 GeoJSON 坐标转换为其他投影以与 Turf.js 一起使用

mysql - 选择查询返回错误结果

loops - 继续而不是 Perl 中的 'or die'

json - TypeScript 中用括号代替键的对象是什么意思?