/src/test/java/com/alibaba/json/bvt/issue_2200/Issue2241.java

https://github.com/alibaba/fastjson · Java · 80 lines · 60 code · 20 blank · 0 comment · 0 complexity · e11b4f85bb4b85f215a9f27e97800d02 MD5 · raw file

  1. package com.alibaba.json.bvt.issue_2200;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.annotation.JSONField;
  4. import junit.framework.TestCase;
  5. import org.joda.time.LocalDateTime;
  6. import java.time.ZonedDateTime;
  7. import java.util.Calendar;
  8. import java.util.Date;
  9. import java.util.Locale;
  10. import java.util.TimeZone;
  11. public class Issue2241 extends TestCase {
  12. protected void setUp() throws Exception {
  13. JSON.defaultTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
  14. JSON.defaultLocale = Locale.CHINA;
  15. }
  16. public void test_for_issue() throws Exception {
  17. String text = "{\"createTime\":1548166745}";
  18. Order o = JSON.parseObject(text, Order.class);
  19. assertEquals(1548166745000L, o.createTime.getTime());
  20. String json = JSON.toJSONString(o);
  21. assertEquals("{\"createTime\":1548166745}", json);
  22. }
  23. public void test_for_issue2() throws Exception {
  24. String text = "{\"createTime\":1548166745}";
  25. Order2 o = JSON.parseObject(text, Order2.class);
  26. assertEquals(1548166745000L, o.createTime.getTimeInMillis());
  27. String json = JSON.toJSONString(o);
  28. assertEquals("{\"createTime\":1548166745}", json);
  29. }
  30. public void test_for_issue3() throws Exception {
  31. String text = "{\"createTime\":\"20180714224948\"}";
  32. Order3 o = JSON.parseObject(text, Order3.class);
  33. assertEquals(1531579788000L, o.createTime.getTimeInMillis());
  34. String json = JSON.toJSONString(o);
  35. assertEquals("{\"createTime\":\"20180714224948\"}", json);
  36. }
  37. public void test_for_issue4() throws Exception {
  38. String text = "{\"createTime\":1548166745}";
  39. Order4 o = JSON.parseObject(text, Order4.class);
  40. assertEquals(1548166745L, o.createTime.toEpochSecond());
  41. String json = JSON.toJSONString(o);
  42. assertEquals("{\"createTime\":1548166745}", json);
  43. }
  44. public static class Order {
  45. @JSONField(format = "unixtime")
  46. public Date createTime;
  47. }
  48. public static class Order2 {
  49. @JSONField(format = "unixtime")
  50. public Calendar createTime;
  51. }
  52. public static class Order3 {
  53. @JSONField(format = "yyyyMMddHHmmss")
  54. public Calendar createTime;
  55. }
  56. public static class Order4 {
  57. @JSONField(format = "unixtime")
  58. public ZonedDateTime createTime;
  59. }
  60. }