Skip to content

Commit

Permalink
fix deserialize ForwardMessage NPE
Browse files Browse the repository at this point in the history
  • Loading branch information
MrXiaoM committed Dec 16, 2023
1 parent c722504 commit f7b8560
Showing 1 changed file with 11 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@ public ForwardMsgResp deserialize(JsonElement json, Type typeOfT, JsonDeserializ
JsonObject jsonObj = json.getAsJsonObject();
JsonArray messagesArray = jsonObj.get("messages").getAsJsonArray();
for (JsonElement jsonElement : messagesArray) {
JsonObject obj = jsonElement.getAsJsonObject();
int time = obj.get("time").getAsInt();
String messageType = obj.get("message_type").getAsString();
int messageId = obj.get("message_id").getAsInt();
int realId = obj.get("real_id").getAsInt();
ForwardMsgResp.Sender sender = gson.fromJson(obj.get("anonymous"), ForwardMsgResp.Sender.class);
JsonsObject obj = new JsonsObject(jsonElement.getAsJsonObject());
int time = obj.optInt("time");
String messageType = obj.optString("message_type");
int messageId = obj.optInt("message_id");
int realId = obj.optInt("real_id");
ForwardMsgResp.Sender sender = gson.fromJson(obj.optJSONObject("anonymous"), ForwardMsgResp.Sender.class);
String message;
if (obj.get("message").isJsonArray()) {
message = gson.toJson(obj.get("message").getAsJsonArray());
if (obj.getJsonElement("message").isJsonArray()) {
message = gson.toJson(obj.optJSONArray("message"));
} else {
message = obj.get("message").getAsString();
message = obj.optString("message");
}
long peerId = obj.get("peer_id").getAsLong();
long targetId = obj.get("target_id").getAsLong();
long peerId = obj.optLong("peer_id");
long targetId = obj.optLong("target_id");
nodes.add(new ForwardMsgResp.Node(time, messageType, messageId, realId, peerId, targetId, sender, message));
}
return new ForwardMsgResp(nodes);
Expand Down

0 comments on commit f7b8560

Please sign in to comment.