如何在 Matlab 中从 XML-RPC 处理 hashmap 中的 [Ljava.lang.object?

How to process [Ljava.lang.object in hashmap from XML-RPC in Matlab?

我正在尝试将 Apache XML-RPC Java 客户端与 python SimpleXMLRPC 服务器结合使用。

从 python 服务器,我尝试 return 一个将字符串与列表链接起来的字典,如下所示:

return {'node15': [12,58748], 'node34': [28,45784]}

然后当从 maltab 客户端调用该方法时,我最终得到了 matlab 调用的哈希图:

{'node15' = [Ljava.lang.Object;@6f02ae95, node34 = [Ljava.lang.Object;@1913f123}

我没有找到将我的列表提取到数组中的方法,我的下一步是使用 values() 来提取它们,但它只是 return 一个包含以下内容的 "HashMap$Values" 列表:

[ [Ljava.lang.Object;@6f02ae95, [Ljava.lang.Object;@1913f12]

看起来 matlab 未能将 java 结构转换成它能理解的东西。

知道如何处理这个吗?

您需要先将其转换为数组,然后您可以使用cell 转换为 Matlab 原生类型:

cell(myHashMap.values().toArray());