java.lang.IllegalArgumentException : Object would be serialized to `null` : Android 异常

标签 java android meteor

我最近一直在设置移动应用程序以与我的 meteor 服务器配合使用。作为其中的一部分,我必须从 android 传递 meteor 网络应用程序数据。不幸的是,我一直收到一个错误,告诉我我传递的 java 对象“将被序列化为 null”。我该如何防止这种情况?

     JSONObject json = new JSONObject();
            try{
                json.put("Foo", "1");
                json.put("Blah", 0);
            }catch (JSONException e){

            }
            Object[] object = new Object[1];
            object[0] = json;
            System.out.println(object + ", " + object[0] + ", " + object[0].toString());
            mMeteor.call("xxx", object, new ResultListener() {
                @Override
                public void onSuccess(String result) {

                }
                @Override
                public void onError(String error, String reason, String details) {

                }
            });
        }

        @Override
        public void onError(String error, String reason, String details) {

        }
    });

Android/Meteor接口(interface)库函数

 public void callWithSeed(final String methodName, final String randomSeed, final Object[] params, final ResultListener listener) {
    // create a new unique ID for this request
    final String callId = uniqueID();

    // save a reference to the listener to be executed later
    if (listener != null) {
        mListeners.put(callId, listener);
    }

    // send the request
    final Map<String, Object> data = new HashMap<String, Object>();
    data.put(Protocol.Field.MESSAGE, Protocol.Message.METHOD);
    data.put(Protocol.Field.METHOD, methodName);
    data.put(Protocol.Field.ID, callId);
    if (params != null) {
        data.put(Protocol.Field.PARAMS, params);
    }
    if (randomSeed != null) {
        data.put(Protocol.Field.RANDOM_SEED, randomSeed);
    }
    send(data);
}

最佳答案

我遇到了同样的问题,我的第一个错误是传递了 CharSequence 而不是 String 作为参数(您的 Object[]) ,我的另一个错误是将 Object[] 作为另一个参数传递(我通过发送 String 解决了这个问题,例如:String.valueOf(your_object_list)) 不要忘记在您的服务器端处理这个问题,您将收到一个 String 而不是 Object

关于java.lang.IllegalArgumentException : Object would be serialized to `null` : Android 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38042381/

相关文章:

android - 为什么我们不对所有可绘制对象使用 nodpi?

java - 在 RecyclerView 滚动监听器中实现单击监听器

javascript - 窗口关闭期间的 beforeunload 事件与meteor-auto-reload

meteor - # meteor 中带有火焰的数组中的每个字符串

meteor - 使用 Robomongo 连接到 Meteor

java - GWT/EXT + Spring Security 应用程序中的双重身份验证

java - 无法解析不同风格android studio的方法 'getAllUserGroupByName()'

java - JSch库中SCP协议(protocol)实现说明

java - 无法将 JavaTimeModule 导入 Spring Boot 配置类

Java项目-披萨作业