我有一个XML-RPC响应,但我很难使用Mojo::XMLRPC
将其作为JSON返回。感谢你的指导。
use Mojolicious::Lite;
use Mojo::XMLRPC qw[decode_xmlrpc];
#use XMLRPC::Fast;
get '/' => sub {
my $c = shift;
my $xml = <<~'XML';
<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>myarray</name>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>bob</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>alice</name>
<value>
<i4>1</i4>
</value>
</member>
</struct>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
XML
$c->render(json => decode_xmlrpc($xml));
};
app->start;
1条答案
按热度按时间svmlkihl1#
根据文档https://metacpan.org/pod/Mojo::XMLRPC,
decode_xmlrpc()
和from_xmlrpc()
方法返回一个包含结果的Mojo::XMLRPC::Message
对象。查看该模块的源代码https://metacpan.org/release/JBERGER/Mojo-XMLRPC-0.06/source/lib/Mojo/XMLRPC/Message.pm,可以发现它有一个parameters
方法。因此,您可以尝试以下操作: