【问题标题】:Encoding an array of hashes in Perl在 Perl 中编码散列数组
【发布时间】:2016-01-21 01:09:58
【问题描述】:

我正在尝试做一些看起来很简单的事情,但我不知道如何在 Perl 中做到这一点:我想输出一个 JSON 格式的哈希数组。

有问题的哈希数组实际上是DBIx::MyParse Items 对象实例的数组。这是我的代码:

use strict;
use DBIx::MyParse;
use JSON::PP;
my $json = JSON::PP->new->ascii->pretty->allow_nonref;

our $parser = DBIx::MyParse->new( database => "test", datadir => "/tmp/myparse" );
our $query = $parser->parse("UPDATE table1 SET field1 = 1;");

$json->convert_blessed(1);
print $json->encode(@{$query} );

这就是这个脚本的输出:

"SQLCOM_UPDATE"

这实际上是我想要作为一个整体输出的数组的第一个元素。这是我在逐步调试脚本时看到的数组内容:

我想在我的 JSON 输出中包含整个结构。我怎样才能做到这一点?

【问题讨论】:

    标签: json perl hash


    【解决方案1】:

    JSON::encode 只需要一个参数,而不是列表。使用$json->encode( $query )

    【讨论】:

      猜你喜欢
      • 2012-08-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 2014-05-19
      • 2011-03-13
      • 2014-01-16
      • 2011-05-08
      • 2017-02-21
      相关资源
      最近更新 更多