This commit is contained in:
Redkale
2018-07-25 12:06:11 +08:00
parent d327757d59
commit 0cfdb9795b

View File

@@ -103,9 +103,10 @@ public class MapDecoder<K, V> implements Decodeable<Reader, Map<K, V>> {
if (len == Reader.SIGN_NOLENGTH) { if (len == Reader.SIGN_NOLENGTH) {
int startPosition = in.position(); int startPosition = in.position();
while (in.hasNext(startPosition, contentLength)) { while (in.hasNext(startPosition, contentLength)) {
K key = readKeyMember(in, member, first); Reader entryReader = getMapEntryReader(in);
in.readBlank(); K key = readKeyMember(entryReader, member, first);
V value = readValueMember(in, member, first); entryReader.readBlank();
V value = readValueMember(entryReader, member, first);
result.put(key, value); result.put(key, value);
first = false; first = false;
} }
@@ -122,6 +123,10 @@ public class MapDecoder<K, V> implements Decodeable<Reader, Map<K, V>> {
return result; return result;
} }
protected Reader getMapEntryReader(Reader in) {
return in;
}
protected K readKeyMember(Reader in, DeMember member, boolean first) { protected K readKeyMember(Reader in, DeMember member, boolean first) {
return keyDecoder.convertFrom(in); return keyDecoder.convertFrom(in);
} }