Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 043f8c5

Browse files
committed
fix #189, dynamic codegen broken on map serialization
1 parent c1db5fb commit 043f8c5

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

‎src/main/java/com/jsoniter/output/CodegenImplMap.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,6 @@ public static CodegenResult genMap(String cacheKey, ClassInfo classInfo) {
5151
ctx.append("stream.writeMore();");
5252
}
5353
genWriteMapKey(ctx, keyType, noIndention);
54-
if (noIndention) {
55-
ctx.append("stream.write(':');");
56-
} else {
57-
ctx.append("stream.write((byte)':', (byte)' ');");
58-
}
5954
if (isCollectionValueNullable) {
6055
ctx.append("if (entry.getValue() == null) { stream.writeNull(); } else {");
6156
CodegenImplNative.genWriteOp(ctx, "entry.getValue()", valueType, true);

‎src/test/java/com/jsoniter/output/TestMap.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.jsoniter.output;
22

3-
import com.jsoniter.JsonIterator;
43
import com.jsoniter.spi.Config;
54
import com.jsoniter.spi.Encoder;
65
import com.jsoniter.spi.JsoniterSpi;
@@ -9,6 +8,7 @@
98

109
import java.io.ByteArrayOutputStream;
1110
import java.io.IOException;
11+
import java.math.BigDecimal;
1212
import java.util.HashMap;
1313
import java.util.Map;
1414

@@ -147,4 +147,13 @@ public void test_object_key() {
147147
m.put(1, 2);
148148
assertEquals("{\"1\":2}", JsonStream.serialize(m));
149149
}
150+
151+
public void test_multiple_keys() {
152+
HashMap<String, Object> map = new HashMap<String, Object>();
153+
map.put("destination", "test_destination_value");
154+
map.put("amount", new BigDecimal("0.0000101101"));
155+
map.put("password", "test_pass");
156+
final String serialized = JsonStream.serialize(map);
157+
assertEquals(-1, serialized.indexOf("::"));
158+
}
150159
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /