英文:
Mojo::XMLRPC::Message::Response to Mojolicious JSON
问题
我有一个XML-RPC响应,但我在使用Mojo::XMLRPC
将其转换为JSON时遇到了困难。我感激您的指导。
英文:
I have an XML-RPC response, but I'm struggling to return it as a JSON using Mojo::XMLRPC
. I appreciate your guidance.
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
得分: 1
根据文档 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
方法。因此,你可以尝试以下代码:
$c->render(json => decode_xmlrpc($xml)->parameters);
英文:
According to the documentation https://metacpan.org/pod/Mojo::XMLRPC the decode_xmlrpc()
and from_xmlrpc()
methods return a Mojo::XMLRPC::Message
object containing the result. Looking at that module's source code https://metacpan.org/release/JBERGER/Mojo-XMLRPC-0.06/source/lib/Mojo/XMLRPC/Message.pm shows that it has a parameters
method. So you could try the following:
$c->render(json => decode_xmlrpc($xml)->parameters);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论