public void test_4() throws Exception {
JSONSerializer serializer = new JSONSerializer();
serializer.write(new JSONStreamAware() {
public void writeJSONString(Appendable out) throws IOException {
out.append("abc");
}
});
Assert.assertEquals("abc", serializer.getWriter().toString());
}
java类com.alibaba.fastjson.JSONStreamAware的实例源码
JSONSerializerTest.java 文件源码
项目:GitHub
阅读 47
收藏 0
点赞 0
评论 0
JSONStreamAwareSerializer.java 文件源码
项目:boohee_v5.6
阅读 33
收藏 0
点赞 0
评论 0
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType) throws IOException {
((JSONStreamAware) object).writeJSONString(serializer.getWriter());
}
JSONStreamAwareSerializer.java 文件源码
项目:uavstack
阅读 37
收藏 0
点赞 0
评论 0
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
SerializeWriter out = serializer.getWriter();
JSONStreamAware aware = (JSONStreamAware) object;
aware.writeJSONString(out);
}
JSONStreamAwareSerializer.java 文件源码
项目:itmarry
阅读 34
收藏 0
点赞 0
评论 0
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType) throws IOException {
SerializeWriter out = serializer.getWriter();
JSONStreamAware aware = (JSONStreamAware) object;
aware.writeJSONString(out);
}
JSONSerializer.java 文件源码
项目:android_http_demo
阅读 50
收藏 0
点赞 0
评论 0
public ObjectSerializer getObjectWriter(Class<?> clazz) {
ObjectSerializer writer = config.get(clazz);
if (writer == null) {
if (Map.class.isAssignableFrom(clazz)) {
config.put(clazz, MapSerializer.instance);
} else if (List.class.isAssignableFrom(clazz)) {
config.put(clazz, ListSerializer.instance);
} else if (Collection.class.isAssignableFrom(clazz)) {
config.put(clazz, CollectionSerializer.instance);
} else if (Date.class.isAssignableFrom(clazz)) {
config.put(clazz, DateSerializer.instance);
} else if (JSONAware.class.isAssignableFrom(clazz)) {
config.put(clazz, JSONAwareSerializer.instance);
} else if (JSONStreamAware.class.isAssignableFrom(clazz)) {
config.put(clazz, JSONStreamAwareSerializer.instance);
} else if (clazz.isEnum() || (clazz.getSuperclass() != null && clazz.getSuperclass().isEnum())) {
config.put(clazz, EnumSerializer.instance);
} else if (clazz.isArray()) {
Class<?> componentType = clazz.getComponentType();
ObjectSerializer compObjectSerializer = getObjectWriter(componentType);
config.put(clazz, new ArraySerializer(componentType, compObjectSerializer));
} else if (Throwable.class.isAssignableFrom(clazz)) {
config.put(clazz, new ExceptionSerializer(clazz));
} else if (TimeZone.class.isAssignableFrom(clazz)) {
config.put(clazz, TimeZoneSerializer.instance);
} else if (Appendable.class.isAssignableFrom(clazz)) {
config.put(clazz, AppendableSerializer.instance);
} else if (Charset.class.isAssignableFrom(clazz)) {
config.put(clazz, ToStringSerializer.instance);
} else if (Enumeration.class.isAssignableFrom(clazz)) {
config.put(clazz, EnumerationSeriliazer.instance);
} else if (Calendar.class.isAssignableFrom(clazz)) {
config.put(clazz, CalendarSerializer.instance);
} else {
boolean isCglibProxy = false;
boolean isJavassistProxy = false;
for (Class<?> item : clazz.getInterfaces()) {
if (item.getName().equals("net.sf.cglib.proxy.Factory")) {
isCglibProxy = true;
break;
} else if (item.getName().equals("javassist.util.proxy.ProxyObject")) {
isJavassistProxy = true;
break;
}
}
if (isCglibProxy || isJavassistProxy) {
Class<?> superClazz = clazz.getSuperclass();
ObjectSerializer superWriter = getObjectWriter(superClazz);
config.put(clazz, superWriter);
return superWriter;
}
if (Proxy.isProxyClass(clazz)) {
config.put(clazz, config.createJavaBeanSerializer(clazz));
} else {
config.put(clazz, config.createJavaBeanSerializer(clazz));
}
}
writer = config.get(clazz);
}
return writer;
}
JSONStreamAwareSerializer.java 文件源码
项目:android_http_demo
阅读 29
收藏 0
点赞 0
评论 0
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType) throws IOException {
SerializeWriter out = serializer.getWriter();
JSONStreamAware aware = (JSONStreamAware) object;
aware.writeJSONString(out);
}
JSONSerializer.java 文件源码
项目:AndroidNio
阅读 32
收藏 0
点赞 0
评论 0
public ObjectSerializer getObjectWriter(Class<?> clazz) {
ObjectSerializer writer = config.get(clazz);
if (writer == null) {
if (Map.class.isAssignableFrom(clazz)) {
config.put(clazz, MapSerializer.instance);
} else if (List.class.isAssignableFrom(clazz)) {
config.put(clazz, ListSerializer.instance);
} else if (Collection.class.isAssignableFrom(clazz)) {
config.put(clazz, CollectionSerializer.instance);
} else if (Date.class.isAssignableFrom(clazz)) {
config.put(clazz, DateSerializer.instance);
} else if (JSONAware.class.isAssignableFrom(clazz)) {
config.put(clazz, JSONAwareSerializer.instance);
} else if (JSONStreamAware.class.isAssignableFrom(clazz)) {
config.put(clazz, JSONStreamAwareSerializer.instance);
} else if (clazz.isEnum() || (clazz.getSuperclass() != null && clazz.getSuperclass().isEnum())) {
config.put(clazz, EnumSerializer.instance);
} else if (clazz.isArray()) {
Class<?> componentType = clazz.getComponentType();
ObjectSerializer compObjectSerializer = getObjectWriter(componentType);
config.put(clazz, new ArraySerializer(componentType, compObjectSerializer));
} else if (Throwable.class.isAssignableFrom(clazz)) {
config.put(clazz, new ExceptionSerializer(clazz));
} else if (TimeZone.class.isAssignableFrom(clazz)) {
config.put(clazz, TimeZoneSerializer.instance);
} else if (Appendable.class.isAssignableFrom(clazz)) {
config.put(clazz, AppendableSerializer.instance);
} else if (Charset.class.isAssignableFrom(clazz)) {
config.put(clazz, ToStringSerializer.instance);
} else if (Enumeration.class.isAssignableFrom(clazz)) {
config.put(clazz, EnumerationSeriliazer.instance);
} else if (Calendar.class.isAssignableFrom(clazz)) {
config.put(clazz, CalendarSerializer.instance);
} else {
boolean isCglibProxy = false;
boolean isJavassistProxy = false;
for (Class<?> item : clazz.getInterfaces()) {
if (item.getName().equals("net.sf.cglib.proxy.Factory")) {
isCglibProxy = true;
break;
} else if (item.getName().equals("javassist.util.proxy.ProxyObject")) {
isJavassistProxy = true;
break;
}
}
if (isCglibProxy || isJavassistProxy) {
Class<?> superClazz = clazz.getSuperclass();
ObjectSerializer superWriter = getObjectWriter(superClazz);
config.put(clazz, superWriter);
return superWriter;
}
if (Proxy.isProxyClass(clazz)) {
config.put(clazz, config.createJavaBeanSerializer(clazz));
} else {
config.put(clazz, config.createJavaBeanSerializer(clazz));
}
}
writer = config.get(clazz);
}
return writer;
}
JSONStreamAwareSerializer.java 文件源码
项目:AndroidNio
阅读 35
收藏 0
点赞 0
评论 0
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType) throws IOException {
SerializeWriter out = serializer.getWriter();
JSONStreamAware aware = (JSONStreamAware) object;
aware.writeJSONString(out);
}