/src/test/java/com/alibaba/json/bvt/parser/bug/Bug_for_lingzhi.java

https://github.com/alibaba/fastjson · Java · 269 lines · 179 code · 65 blank · 25 comment · 0 complexity · dc67ddab70cac00810fd595b1f07519d MD5 · raw file

  1. package com.alibaba.json.bvt.parser.bug;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.TypeReference;
  4. import com.alibaba.fastjson.serializer.SerializerFeature;
  5. import junit.framework.TestCase;
  6. import java.util.List;
  7. public class Bug_for_lingzhi extends TestCase {
  8. public void test_0() throws Exception {
  9. String str = "[\n" +
  10. "{\n" +
  11. "\"isDefault\":false,\n" +
  12. "\"msgId\": \"expireTransitionChange\",\n" +
  13. "\"msgText\": \"xxx\",\n" +
  14. "\"extMsgId\": \"promptInformation\",\n" +
  15. "\"extMsgText\": \"xxx\",\n" +
  16. "\"instChangeType\": 1,\n" +
  17. "\"rule\": {\n" +
  18. "\"aliUid\":[39314],\n" +
  19. "\"regionNo\":[]\n" +
  20. "}\n" +
  21. "},\n" +
  22. "{\n" +
  23. "\"isDefault\":true,\n" +
  24. "\"msgId\": \"expireTransitionUnChange\",\n" +
  25. "\"msgText\": \"xxx\",\n" +
  26. "\"extMsgId\": \"Prompt information\",\n" +
  27. "\"extMsgText\": \"xxx\",\n" +
  28. "\"instChangeType\": 0,\n" +
  29. "\"rule\": {\n" +
  30. "\"aliUid\":[],\n" +
  31. "\"regionNo\":[]\n" +
  32. "}\n" +
  33. "},\n" +
  34. "{\n" +
  35. "\"isDefault\":false,\n" +
  36. "\"msgId\": \"expireTransitionChange\",\n" +
  37. "\"msgText\": \"xxx\",\n" +
  38. "\"extMsgId\": \"Prompt information\",\n" +
  39. "\"extMsgText\": \"你好B\",\n" +
  40. "\"instChangeType\": 1,\n" +
  41. "\"rule\": {\n" +
  42. "\"aliUid\":[111],\n" +
  43. "\"regionNo\":[]\n" +
  44. "}\n" +
  45. "}\n" +
  46. "]";
  47. // String pstr = JSON.toJSONString(JSON.parse(str), SerializerFeature.PrettyFormat);
  48. // System.out.println(pstr);
  49. JSON.parseObject(str, new TypeReference<List<EcsTransitionDisplayedMsgConfig>>(){});
  50. }
  51. public static class EcsTransitionDisplayedMsgConfig {
  52. /**
  53. * 是否默认文案
  54. */
  55. private Boolean isDefault;
  56. /**
  57. * 展示的文案Id
  58. */
  59. private String msgId;
  60. /**
  61. * 展示的文案信息
  62. */
  63. private String msgText;
  64. /**
  65. * 扩展文案Id
  66. */
  67. private String extMsgId;
  68. /**
  69. * 扩展文案信息
  70. */
  71. private String extMsgText;
  72. private Integer instChangeType;
  73. /**
  74. * 文案对应的规则
  75. */
  76. private EcsTransitionConfigRule rule;
  77. public String getMsgText() {
  78. return msgText;
  79. }
  80. public void setMsgText(String msgText) {
  81. this.msgText = msgText;
  82. }
  83. public String getMsgId() {
  84. return msgId;
  85. }
  86. public void setMsgId(String msgId) {
  87. this.msgId = msgId;
  88. }
  89. public EcsTransitionConfigRule getRule() {
  90. return rule;
  91. }
  92. public void setRule(EcsTransitionConfigRule rule) {
  93. this.rule = rule;
  94. }
  95. public Integer getInstChangeType() {
  96. return instChangeType;
  97. }
  98. public void setInstChangeType(Integer instChangeType) {
  99. this.instChangeType = instChangeType;
  100. }
  101. public Boolean getIsDefault() {
  102. return this.isDefault;
  103. }
  104. public void setIsDefault(Boolean isDefault) {
  105. this.isDefault = isDefault;
  106. }
  107. public String getExtMsgId() {
  108. return extMsgId;
  109. }
  110. public void setExtMsgId(String extMsgId) {
  111. this.extMsgId = extMsgId;
  112. }
  113. public String getExtMsgText() {
  114. return extMsgText;
  115. }
  116. public void setExtMsgText(String extMsgText) {
  117. this.extMsgText = extMsgText;
  118. }
  119. }
  120. public static class EcsTransitionConfigRule {
  121. /** 0 过保迁移, 1 非过保迁移 **/
  122. private List<Integer> transType;
  123. /** 比如:cn-qingdao-cm5-a01 **/
  124. private List<String> regionNo;
  125. private List<Long> aliUid;
  126. private List<String> bid;
  127. /** ecs,disk **/
  128. private List<String> resourceType;
  129. private List<Long> zoneId;
  130. private List<Long> targetZoneId;
  131. private List<Integer> networkTransType;
  132. /** instance type 实例规格 **/
  133. private List<String> instanceType;
  134. /** 磁盘类型 ioX **/
  135. private List<String> ioX;
  136. private List<String> instanceId;
  137. public List<Integer> getTransType() {
  138. return transType;
  139. }
  140. public void setTransType(List<Integer> transType) {
  141. this.transType = transType;
  142. }
  143. public List<String> getRegionNo() {
  144. return regionNo;
  145. }
  146. public void setRegionNo(List<String> regionNo) {
  147. this.regionNo = regionNo;
  148. }
  149. public List<Long> getAliUid() {
  150. return aliUid;
  151. }
  152. public void setAliUid(List<Long> aliUid) {
  153. this.aliUid = aliUid;
  154. }
  155. public List<String> getBid() {
  156. return bid;
  157. }
  158. public void setBid(List<String> bid) {
  159. this.bid = bid;
  160. }
  161. public List<String> getResourceType() {
  162. return resourceType;
  163. }
  164. public void setResourceType(List<String> resourceType) {
  165. this.resourceType = resourceType;
  166. }
  167. public List<Long> getZoneId() {
  168. return zoneId;
  169. }
  170. public void setZoneId(List<Long> zoneId) {
  171. this.zoneId = zoneId;
  172. }
  173. public List<Long> getTargetZoneId() {
  174. return targetZoneId;
  175. }
  176. public void setTargetZoneId(List<Long> targetZoneId) {
  177. this.targetZoneId = targetZoneId;
  178. }
  179. public List<Integer> getNetworkTransType() {
  180. return networkTransType;
  181. }
  182. public void setNetworkTransType(List<Integer> networkTransType) {
  183. this.networkTransType = networkTransType;
  184. }
  185. public List<String> getInstanceType() {
  186. return instanceType;
  187. }
  188. public void setInstanceType(List<String> instanceType) {
  189. this.instanceType = instanceType;
  190. }
  191. public List<String> getIoX() {
  192. return ioX;
  193. }
  194. public void setIoX(List<String> ioX) {
  195. this.ioX = ioX;
  196. }
  197. public List<String> getInstanceId() {
  198. return instanceId;
  199. }
  200. public void setInstanceId(List<String> instanceId) {
  201. this.instanceId = instanceId;
  202. }
  203. }
  204. }