Преобразование благословенных объектов в JSON
Как мне преобразовать благословенный объект в JSON в Perl? Вот массив, который у меня есть:
@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)', но ни настройки allow_blessed и convert_blessed в строке 256 u.pl не включены.
Я ожидал сериализованный объект JSON, чтобы я мог отправить его на сервер.
Как мне это сделать?
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 достаточно и детей и родителей... удачи попробуют то же самое...