JackJsonグローバル日付とローカル日付(グローバルに日付フォーマットを設定し、JsonFormatを使用可能にします)
3820 ワード
jackjsonは現在使いやすいjsonフレームワークであり、効率性能もnet.sft.jsonは大量jarに依存している.
jsonデータを返す注釈があると操作が容易である.
次のフォーマット日、timezoneは必ず追加しなければなりません.そうしないと8 h少なくなります.
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "PRC")
DateTimeFormatはspringの注記で、受信日のフォーマットを設定します.そうしないと400のエラーが発生します.
@DateTimeFormat( pattern = "yyyy-MM-dd")
サボってmybatisがresultMapではなくmapに直接戻った場合、日付フォーマットが乱れてしまうことがあります
2017-02-19 T 16:00:00.000+0000と同様に、グローバル日付フォーマットの設定を求める.
jackjsonにはグローバルな日付変換器がありますが、設定後に気まずい発見@JsonFormat注釈が効かなくなりました
最終的に多くの文章を探して、jackjsonブロッカーを通じて問題を解決することに成功して、優先的にJsonFormatを探して、日付のフォーマットを取得します
見つからないときはDateTimeFormatを使い、見つからないときはデフォルトフォーマットを使います
詳細コードは次のとおりです.
参考記事:https://blog.csdn.net/zhanngle/article/details/24123659
jsonデータを返す注釈があると操作が容易である.
次のフォーマット日、timezoneは必ず追加しなければなりません.そうしないと8 h少なくなります.
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "PRC")
DateTimeFormatはspringの注記で、受信日のフォーマットを設定します.そうしないと400のエラーが発生します.
@DateTimeFormat( pattern = "yyyy-MM-dd")
サボってmybatisがresultMapではなくmapに直接戻った場合、日付フォーマットが乱れてしまうことがあります
2017-02-19 T 16:00:00.000+0000と同様に、グローバル日付フォーマットの設定を求める.
jackjsonにはグローバルな日付変換器がありますが、設定後に気まずい発見@JsonFormat注釈が効かなくなりました
private static final String DEFAULT_DATE_FORMAT="yyyy-MM-dd HH:mm:ss";
ObjectMapper objectMapper=new ObjectMapper();
//
objectMapper.setDateFormat(new SimpleDateFormat(DEFAULT_DATE_FORMAT));
最終的に多くの文章を探して、jackjsonブロッカーを通じて問題を解決することに成功して、優先的にJsonFormatを探して、日付のフォーマットを取得します
見つからないときはDateTimeFormatを使い、見つからないときはデフォルトフォーマットを使います
詳細コードは次のとおりです.
private static final String DEFAULT_DATE_FORMAT="yyyy-MM-dd HH:mm:ss";
private final ObjectMapper objectMapper;
public JsonParserImpl() {
objectMapper = new ObjectMapper();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
objectMapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
objectMapper.setSerializationInclusion(Include.ALWAYS);
// null ""
objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer
public class JackJsonDateSerializer extends JsonSerializer {
private DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public JackJsonDateSerializer() {
}
public JackJsonDateSerializer(String format) {
df = new SimpleDateFormat(format);
}
public void serialize(Date arg0, JsonGenerator arg1, SerializerProvider arg2) throws IOException, JsonProcessingException {
if (null != arg0) {
arg1.writeString(this.df.format(arg0));
}
}
}
参考記事:https://blog.csdn.net/zhanngle/article/details/24123659