如何在 PHP 中反序列化 Perl Data::Dumper 输出

2024-05-22

我在 Perl 中有一个导出变量的结果,如下字符串:

$VAR1 = {
    'guard' => undef,
    'work_hand' => undef,
    'images' => 
        {'1' => 
            {
            'mini_height' => 150,
            'width' => 150,
            'extension' => 'jpg',
            'filename' => 'object_1.1330907414.96873.jpg',
            'mini_width' => 150,
            'class' => 'Ontico::Image',
            'height' => 150,
            'mini_filename' => 'object_1.1330907414.96873.mini.jpg',
            'size' => 26053,
            'symname' => 'big_logo'
            },
        '2' => 
            {
            'width' => 48,
            'extension' => 'jpg',
            'alt' => 'Даниэле Галлоппа',
            'height' => 48,
            'mini_filename' => 'object_91.1235312905.mini.jpg',
            'size' => 12809,
            'symname' => 'logo',
            'mini_height' => 150,
            'filename' => 'object_91.1235312905.jpg',
            'mini_width' => 150,
            'class' => 'Ontico::Image'
            }
        },
        'show_league_banner' => 0,
        'back_hand' => undef,
        'weight_category' => undef,
        'stick_position' => undef
    };

如何在 PHP 中反序列化这些数据?

附:我在数据库中已经有这种格式的数据,我无法将其更改为 json 或其他格式。


您有很多尝试以这种或另一种方式解析它的建议,但真正的问题是为什么?

为什么不直接使用一个小的 Perl 程序来加载它,并输出一个等效的 JSON 字符串。

然后,您可以从 PHP 中调用 Perl 程序来进行转换;或者从 PHP 中调用 Perl 程序来进行转换。这意味着您正在使用 Perl 读取 Perl 格式,这将保证正确的转换。

或者(更好的是)批量对整个数据库运行它,以摆脱数据库中特定于 Perl 的数据格式;那么你可以使用 PHP 的标准 JSON 函数。

这将使您的 PHP 代码(或您以后需要用来读取数据的任何其他语言)的生活变得更加简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中反序列化 Perl Data::Dumper 输出 的相关文章

随机推荐