youngyangyang04 / RPC-Java

【代码随想录知识星球】项目分享-手撕RPC框架🔥
186 stars 39 forks source link

JsonSerializer解码问题 #23

Open jh790074213 opened 1 month ago

jh790074213 commented 1 month ago

deserialize方法中当类型和数据不匹配时进行转换,源代码貌似不能进行转换因为response.getData()并不是JSONObject,这里在将用户id改为Long类型时报错。 (JSONObject) response.getData() 是合法的前提是 response.getData() 的实际类型是 JSONObject 或者它是 JSONObject 的子类。 if(! dataType.isAssignableFrom(response.getData().getClass())){ response.setData(JSONObject.toJavaObject((JSONObject) response.getData(),dataType)); }