JSON.toJSONString 源码
/** * This method serializes the specified object into its equivalent Json representation. Note that this method works fine if the any of the object fields are of generic type, * just the object itself should not be of a generic type. If you want to write out the object to a * {@link Writer}, use {@link #writeJSONString(Writer, Object, SerializerFeature[])} instead. * * @param object the object for which json representation is to be created setting for fastjson * @return Json representation of {@code object}. */ public static String toJSONString(Object object) { return toJSONString(object, emptyFilters); } public static String toJSONString(Object object, SerializerFeature... features) { return toJSONString(object, DEFAULT_GENERATE_FEATURE, features); }
从源码,我们可以知道:fastjson中object转string时的配置项,包括
1. 是否显示value为null的项
2. 是否格式化显示字符串
3. 日期是否格式化显示为可读字符串
fastjson:SerializerFeature属性使用
实例
public static void main(String[] args) { // 输出结果 JSONObject param = new JSONObject(); param.put("sign","123"); param.put("reqMsg",null); param.put("creatTime",new Date()); String jsonString = JSON.toJSONString(param, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteDateUseDateFormat); System.out.println("【输出结果】\r\n"+jsonString); }
输出结果:
【输出结果】 { "creatTime":"2019-06-18 11:03:14", "sign":"123", "reqMsg":null }