【问题标题】:Kodi JSON-RPC over TCP invalid messageKodi JSON-RPC over TCP 无效消息
【发布时间】:2018-11-06 20:38:01
【问题描述】:

我通过 tcp-socket 将这个 json 发送到我的 raspi-kodi-client。

{"method":"Playlist.Clear","id":1,"jsonrpc":"2.0","params":[{"playlistid":1}]}

但他回了我:

{"error":{"code":-32602,"data":{"method":"Playlist.Clear","stack":{"message":"Invalid type object received","name":"playlistid","type":"integer"}},"message":"Invalid params."},"id":1,"jsonrpc":"2.0"}

为什么???看起来我太笨了,因为不同的例子看起来一样

First Example - ok its http not tcp but I dont think thats the point - but maybe it is :O

我正在使用 kodi 1.7 和 openjdk 11。

【问题讨论】:

  • 在该链接的所有示例中,“params”是一个 object,而不是 array。而这个事实正是错误信息告诉你的(虽然我承认,它并没有说得很清楚)。
  • @Adyon 我刚才说:我太笨了。谢谢。它奏效了。

标签: java json kodi


【解决方案1】:

在该链接中的所有示例中,“params”是一个对象,而不是一个数组。而这个事实正是错误消息告诉你的(虽然我承认,它并没有说得很清楚)。

简单的改变

{"method":"Playlist.Clear","id":1,"jsonrpc":"2.0","params":[{"playlistid":1}]}

{"method":"Playlist.Clear","id":1,"jsonrpc":"2.0","params":{"playlistid":1}}

【讨论】:

  • 但是为什么文档说 params 是一个数组? kodi.wiki/view/JSON-RPC_API/v8#Playlist.Clear 还是我弄错了?
  • 我对 JSON 模式不是很熟悉,但我认为该模式中的“params”是一个数组的原因是因为它列出了您可以提供的所有可能的参数值 - 这些都是是您提交的数据中“params”对象的属性。我不认为它实际上是说你提交的东西必须是一个数组。如果我错了,我深表歉意,但这是我对它的阅读(根本没有研究过这个主题)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-12
相关资源
最近更新 更多