/src/test/java/com/alibaba/json/test/GenerateJavaTest.java

https://github.com/alibaba/fastjson · Java · 110 lines · 91 code · 19 blank · 0 comment · 0 complexity · f3141f3b83982d2aec0278e4ad9d1b9f MD5 · raw file

  1. package com.alibaba.json.test;
  2. import java.io.InputStream;
  3. import java.math.BigDecimal;
  4. import java.util.Date;
  5. import java.util.concurrent.atomic.AtomicLong;
  6. import junit.framework.TestCase;
  7. import org.apache.commons.io.IOUtils;
  8. import com.alibaba.fastjson.JSON;
  9. import com.alibaba.json.test.entity.Company;
  10. import com.alibaba.json.test.entity.Department;
  11. import com.alibaba.json.test.entity.Employee;
  12. import com.alibaba.json.test.entity.Group;
  13. public class GenerateJavaTest extends TestCase {
  14. private String text;
  15. private AtomicLong idSeed = new AtomicLong();
  16. protected void setUp() throws Exception {
  17. InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("json/page_model_cached.json");
  18. text = IOUtils.toString(is);
  19. is.close();
  20. }
  21. private Long createId() {
  22. return idSeed.incrementAndGet();
  23. }
  24. public void testGenerate() {
  25. Group group = new Group();
  26. group.setName("Alibaba Group");
  27. group.setDescription("Alibaba Group makes it easy for anyone to buy or sell online anywhere in the world. ");
  28. {
  29. Company company = new Company();
  30. company.setId(createId());
  31. company.setName("Alibaba.com");
  32. company.setDescription("Global leader in e-commerce for small businesses");
  33. company.setStock("1688.HK");
  34. group.getCompanies().add(company);
  35. Department root = new Department();
  36. root.setId(createId());
  37. root.setName("B2B");
  38. company.setRootDepartment(root);
  39. {
  40. Department cbu = new Department();
  41. cbu.setId(createId());
  42. cbu.setName("CBU");
  43. root.getChildren().add(cbu);
  44. Employee emp0 = new Employee();
  45. emp0.setName("校长");
  46. emp0.setDescription("神棍敌人姐");
  47. emp0.setAge(3);
  48. emp0.setSalary(new BigDecimal("123456789.0123"));
  49. emp0.setBirthdate(new Date());
  50. emp0.setBadboy(true);
  51. cbu.getMembers().add(emp0);
  52. }
  53. {
  54. Department icbu = new Department();
  55. icbu.setId(createId());
  56. icbu.setName("ICBU");
  57. root.getChildren().add(icbu);
  58. }
  59. }
  60. {
  61. Company company = new Company();
  62. company.setId(createId());
  63. company.setName("Taobao");
  64. company.setDescription("China's largest online retail website and one-stop platform for shopping, socializing and information sharing");
  65. group.getCompanies().add(company);
  66. }
  67. {
  68. Company company = new Company();
  69. company.setId(createId());
  70. company.setName("Alipay");
  71. company.setDescription("China's leading third-party online payment platform");
  72. group.getCompanies().add(company);
  73. }
  74. {
  75. Company company = new Company();
  76. company.setId(createId());
  77. company.setName("Alibaba Cloud Computing");
  78. company.setDescription("Developer of advanced data-centric cloud computing services");
  79. group.getCompanies().add(company);
  80. }
  81. {
  82. Company company = new Company();
  83. company.setId(createId());
  84. company.setName("China Yahoo");
  85. company.setDescription("One of China's leading Internet portals");
  86. group.getCompanies().add(company);
  87. }
  88. String jsonString = JSON.toJSONString(group, true);
  89. System.out.println(jsonString);
  90. }
  91. }