如何在Perl中将祝福的对象转换为JSON?以下是我的数组:
@x = ({
'notificationtype' => 'TRAP',
'receivedfrom' => 'UDP: [10.127.34.212]:48909->[10.127.34.182]:162',
'version' => 1,
},
[
[
bless( {
'oidptr' => bless( do{\(my $o = '140059234062224)}, ''netsnmp_oidPtr' )
}, 'NetSNMP::OID' ),
'600',
67
],
[
bless( {
'oidptr' => bless( do{\(my $o = '140059236784112)}, ''netsnmp_oidPtr' )
}, 'NetSNMP::OID' ),
'OID: .iso.org.dod.internet.private.enterprises.14296.1.100.0.0.1',
6
]
]);
我可以使用$VAR1
单独转换encode_json \@x
,但是当我使用受祝福的对象时,它无效。我收到了错误:
遇到对象'NetSNMP :: OID = HASH(0x136b278)',但是在u.pl第256行都没有启用allow_blessed和convert_blessed设置。
我期望一个序列化的JSON对象,以便我可以将它发送到服务器。
我该怎么做?
答案 0 :(得分:0)
这取决于您是否要保留视觉效果?还是数据和层次结构?在其他终端尺寸下无法渲染相同的位置。我只保留数据和层次结构。可能我会忽略焦点和事件。我将开始对以下属性进行编码,然后创建一个工厂。这些是我为Box找到的属性
container.options
container.position,
container.getLines()
container.getText()
container.getContent
container.children
container.parent
container.style
container.type
container.visible
container.height
container.hidden
container.index
子类具有行,数据,行等……我不认为有一种机械的方式可以实现这一点……
如果要重新创建层次结构,还需要遍历子级和父级,遍历整个树。
仅通过this.options进行思考就足够了,孩子和父母..祝你好运会尝试相同的方法...