fastjson:格式化输出,处理NULL,日期格式化

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属性使用 

https://blog.csdn.net/fly910905/article/details/78474813

实例

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
}

猜你喜欢

转载自blog.csdn.net/fly910905/article/details/91973327