JAVA获取嵌套在JSONObject中的Byte[]

标签 java android json

我需要从 org.json.JSONObject (args) 获取响应。

new Emitter.Listener() {
    @Override
    public void call(Object... args) {

         try {
             JSONObject response = new JSONObject(args[0].toString());

             JSONObject data = (JSONObject) response.get("data");
             Object defaultResponce = data.get("default");

             Log.d(TAG, defaultResponce + "");
         }
         catch (JSONException e) {
             e.printStackTrace();
         }
     }
}

Object defaultResponce = data.get("default"); 相当于 10 个字符,String "[B@ffc06c8"

下图是调试器中的 args 响应。我需要得到指出的值。 enter image description here

如何检索调试器中的值?

最佳答案

我觉得你有点混淆了......

Object defaultResponce = data.get("default");
Log.d(TAG, defaultResponce + "");

--> Log.d 打印引用(defaultResponce + ""将 byte[] 转换为字符串)。这就是你认为它是字符串的原因吗? 检查 defaultResponce 是否是 byte[] 的实例或您正在寻找的任何内容。

无论如何,如果标准 API 没有返回您要查找的内容,您始终可以使用反射来获取所需的字段。

关于JAVA获取嵌套在JSONObject中的Byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38480074/

相关文章:

android - 为什么MediaPlayer失败?

javascript - 将javascript字典附加到其他字典

Java - 计算和重命名文件名

java - Spring MVC : Get Unnamed Request Parameter

java - 找不到证书链

java - 如何将表名添加为 hibernate 模板查询的参数之一

android - 无法读取脚本 'https://raw.githubusercontent.com/ntpanchal/JCenter/master/installv1.gradle',因为它不存在

android - 注册不包含子域的 Android 深层链接路径

java - Jackson 反序列化包含有效 json 的字符串值

ios - 使用 RestKit 0.20.3 映射 json