0

fix: десериализация Text

This commit is contained in:
2020-08-18 18:34:12 +03:00
parent 07d77cf31d
commit 70662c5f80
2 changed files with 35 additions and 28 deletions

View File

@@ -50,6 +50,9 @@ public class StatusServerResponse implements Packet {
* "favicon": "data:image/png;base64,<data>" * "favicon": "data:image/png;base64,<data>"
* } * }
* </pre> * </pre>
*
* <p>Следует обратить внимание, что <code>"description"</code>
* может содержать как JSON объект, так и просто Текст</p>
*/ */
private String serverInfo; private String serverInfo;

View File

@@ -27,6 +27,9 @@ public class TextDeserializer extends StdDeserializer<Text> {
final JsonNode jsonNode = parser.getCodec().readTree(parser); final JsonNode jsonNode = parser.getCodec().readTree(parser);
if (jsonNode.isTextual()) {
builder.append(jsonNode.asText());
} else {
Optional.ofNullable(jsonNode.get("text")) Optional.ofNullable(jsonNode.get("text"))
.ifPresent(node -> builder.append(node.asText())); .ifPresent(node -> builder.append(node.asText()));
Optional.ofNullable(jsonNode.get("color")) Optional.ofNullable(jsonNode.get("color"))
@@ -63,6 +66,7 @@ public class TextDeserializer extends StdDeserializer<Text> {
builder.append(parser.getCodec().treeToValue(node, Text.class)); builder.append(parser.getCodec().treeToValue(node, Text.class));
} }
} }
}
return builder.build(); return builder.build();
} }