public void write(JSONSerializer serializer, Object object) throws IOException { SerializeWriter out = serializer.getWrier(); DataVO vo = (DataVO) object; if (vo == null) { out.append("null"); return; } try { String[] fields = vo.getFieldNames(); if (fields.length == 0) { out.append("{}"); return; } out.append('{'); boolean commaFlag = false; for (int i = 0; i < fields.length; ++i) { Object propertyValue = vo.getValue(fields[i]); if (propertyValue == null && (!serializer.isEnabled(SerializerFeature.WriteMapNullValue))) { continue; } List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, fields[i], propertyValue)) { apply = false; break; } } if (!apply) { continue; } } if (commaFlag) { out.append(','); } commaFlag = true; if (propertyValue == null) { out.write(fields[i] + " : null "); continue; } ObjectSerializer objserializer = serializer.getObjectWriter(propertyValue.getClass()); out.write("\"".concat(fields[i]).concat("\":")); objserializer.write(serializer, propertyValue); } out.append('}'); } catch (Exception e) { throw new JSONException("write javaBean error", e); } }