Android Json RPC 到 pysjonrpc 抛出无效的 JSON 响应

Posted

技术标签:

【中文标题】Android Json RPC 到 pysjonrpc 抛出无效的 JSON 响应【英文标题】:Android Json RPC to pysjonrpc throws invalid JSON response 【发布时间】:2015-11-11 08:28:05 【问题描述】:

我正在开发一个通过 JSON 连接 python 服务器的 android 应用程序。我现在遇到一个阻碍android客户端和python服务器之间连接的错误。

由于 pyjsonrpc 从未在其响应 JSON 字符串中包含键“error”,因此 android-json-rpc 包会抛出一个异常,即在响应中找不到“error”键。

文件JSONRPCHttpClient.class中抛出异常

        responseString = responseString.trim();
        JSONObject jsonResponse = new JSONObject(responseString);
        Object jsonError = jsonResponse.get("error");
        if(!jsonError.equals((Object)null)) 
            throw new JSONRPCException(jsonError);
         else 
            return jsonResponse;
        

我不确定在响应 JSON 中添加“错误”是一种做法,因为我对 Android 开发还很陌生。有什么复杂的方法可以解决这个问题吗?

抛出的异常是:org.json.JSONException: No value for error

【问题讨论】:

我正在使用 pyjsonrpc 包作为服务器端 json 接口 那么,您需要来自jsonResponse 的信息是什么?它必须包含“错误”吗?如果是这样,它的格式是什么(例如String,JSONObject,int,...等)? 返回标准项未找到错误: 标准商品是什么意思?你能用你等待的回复和你实际得到的回复“responseString”来编辑你的问题吗? 抛出的异常是:org.json.JSONException: No value for error。我从Object jsonError = jsonResponse.get("error") 行知道它,但我无法修改代码,因为它是从 .jar 反编译的。 【参考方案1】:

原来 android-json-rpc 包的front page 上的“最新包”链接不是最新的。他们在后一个包上解决了这个问题。更重要的是,我知道“错误”不是标准的 JSON 响应键,它仅在出现服务器端错误时显示。

感谢您的帮助!

【讨论】:

以上是关于Android Json RPC 到 pysjonrpc 抛出无效的 JSON 响应的主要内容,如果未能解决你的问题,请参考以下文章

Android 错误:使用 android-json-rpc 时出现 NoClassDefFound 错误

android-json-rpc 无法解析静态字段 253 (VERSION_2)

如何使用 android-json-rpc 进行 Android(客户端)/Java(服务器)设置?

基于JSON RPC的一种Android跨进程调用解决方案了解一下?

适用于 Android 的最佳 json rpc 2.0 库 [关闭]

如何在android中传递一个带有嵌套参数的RPC Json