fastjson 时区配置 timezone

zengzsys  于 2021-11-27  发布在  Java
关注(0)|答案(1)|浏览(1087)

全局配置能降级为局部配置吗,比如放到 ParserConfig 中
全局
JSON.defaultTimeZone
JSON.defaultLocale
局部 ParserConfig
config.defaultTimeZone
config.defaultLocale
很多情况下需要需要配置多个 ParserConfig 。
建议,最好把所有的配置都放到 ParserConfig

目前是解析前 锁住 JSON.defaultTimeZone 解析完在还原配置。性能有不少影响

rqqzpn5f

rqqzpn5f1#

try SerializeConfig

SerializeConfig config = new SerializeConfig();

        config.put(Date.class, (serializer, object, fieldName, fieldType, features) -> {
            if (object == null) {
                serializer.out.writeNull();
                return;
            }
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
            dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
            serializer.out.writeString(dateFormat.format(object));
        });

        String json = JSON.toJSONString(obj, config, SerializerFeature.WriteNonStringValueAsString);

相关问题