Skip to content

Commit 7ee2a44

Browse files
committed
support CurrentAsJavaBean
1 parent d291f2d commit 7ee2a44

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

src/main/java/com/alibaba/fastjson/serializer/SerializeConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ private final JavaBeanSerializer createASMSerializer(SerializeBeanInfo beanInfo)
114114
return serializer;
115115
}
116116

117-
private final ObjectSerializer createJavaBeanSerializer(Class<?> clazz) {
117+
public final ObjectSerializer createJavaBeanSerializer(Class<?> clazz) {
118118
SerializeBeanInfo beanInfo = TypeUtils.buildBeanInfo(clazz, null, propertyNamingStrategy, fieldBased);
119119
if (beanInfo.fields.length == 0 && Iterable.class.isAssignableFrom(clazz)) {
120120
return MiscCodec.instance;
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.alibaba.json.bvt;
2+
3+
import com.alibaba.fastjson.JSON;
4+
import com.alibaba.fastjson.JSONObject;
5+
import com.alibaba.fastjson.serializer.SerializeConfig;
6+
import junit.framework.TestCase;
7+
8+
import java.util.Currency;
9+
10+
public class CurrencyTest5 extends TestCase {
11+
12+
public void test_0() throws Exception {
13+
SerializeConfig config = new SerializeConfig();
14+
config.put(Currency.class
15+
, config.createJavaBeanSerializer(Currency.class));
16+
17+
JSONObject jsonObject = new JSONObject();
18+
jsonObject.put("value", Currency.getInstance("CNY"));
19+
20+
String text = JSON.toJSONString(jsonObject, config);
21+
System.out.println(text);
22+
23+
Currency currency = JSON.parseObject(text, VO.class).value;
24+
25+
assertSame(Currency.getInstance("CNY"), currency);
26+
}
27+
28+
public static class VO {
29+
public Currency value;
30+
31+
}
32+
}

0 commit comments

Comments
 (0)