content: package com.alibaba.json.bvt.bug;
  
  import java.util.Date;
  import java.util.List;
  
  import org.junit.Assert;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.TypeReference;
  import com.alibaba.fastjson.annotation.JSONField;
  
  import junit.framework.TestCase;
  
  public class Bug_for_hifor_issue_511 extends TestCase {
  
      public void test_for_issue() throws Exception {
          String resultString = "{"
                  + "    \"errCode\": 0, "
                  + "    \"errMsg\": \"ok\", "
                  + "    \"model\": {"
                  + "        \"doctor\": {"
                  + "            \"duty\": \"副主任医师\", "
                  + "            \"glide\": \"20051010082558\", "
                  + "            \"mark\": \"0703010000\", "
                  + "            \"name\": \"某某某\", "
                  + "            \"office\": \"小儿骨科\""
                  + "        }, "
                  + "        \"patientInfoList\": ["
                  + "            {"
                  + "                \"patient_Master_Card\": 1, "
                  + "                \"patient_addDate\": 1451097938410, "
                  + "                \"patient_age\": 30, "
                  + "                \"patient_id\": 347, "
                  + "                \"patient_idCard\": \"123321\", "
                  + "                \"patient_name\": \"张三\", "
                  + "                \"patient_s_ic_no\": \"123321\", "
                  + "                \"patient_sex\": \"1\", "
                  + "                \"patient_tel\": \"123\", "
                  + "                \"patient_userId\": 2, "
                  + "                \"s_ic_no\": \"123321\""
                  + "            }, "
                  + "            {"
                  + "                \"patient_Master_Card\": 0, "
                  + "                \"patient_addDate\": 1454296296847, "
                  + "                \"patient_age\": 23, "
                  + "                \"patient_id\": 598, "
                  + "                \"patient_idCard\": \"123123\", "
                  + "                \"patient_name\": \"李四\", "
                  + "                \"patient_s_ic_no\": \"F10020000615011\", "
                  + "                \"patient_sex\": \"1\", "
                  + "                \"patient_tel\": \"18065212123\", "
                  + "                \"patient_userId\": 2, "
                  + "                \"s_ic_no\": \"F10020000615011\""
                  + "            }"
                  + "        ]"
                  + "    }"
                  + "}";
          
          TResult<BookConfirmVo> result = JSON.parseObject(resultString, new TypeReference<TResult<BookConfirmVo>>() { });
          Assert.assertSame(BookConfirmVo.class, result.model.getClass());
      }
      
      public static class TResult<T> {
          int errCode = 0;
          String errMsg = "ok";
          List<T> data = null;
          String stringData;
          Integer intData;
          T model;
          String url;
          
          public int getErrCode() {
              return errCode;
          }
          
          public void setErrCode(int errCode) {
              this.errCode = errCode;
          }
          
          public String getErrMsg() {
              return errMsg;
          }
          
          public void setErrMsg(String errMsg) {
              this.errMsg = errMsg;
          }
          
          public List<T> getData() {
              return data;
          }
          
          public void setData(List<T> data) {
              this.data = data;
          }
          
          public String getStringData() {
              return stringData;
          }
          
          public void setStringData(String stringData) {
              this.stringData = stringData;
          }
          
          public Integer getIntData() {
              return intData;
          }
          
          public void setIntData(Integer intData) {
              this.intData = intData;
          }
          
          public T getModel() {
              return model;
          }
          
          public void setModel(T model) {
              this.model = model;
          }
          
          public String getUrl() {
              return url;
          }
          
          public void setUrl(String url) {
              this.url = url;
          }
          
          
      }
  
      public static class BookConfirmVo {
  
          String              selectDay;
          String              selectTime;
          VW_NRE_Doctor       doctor;
          List<PatientInfoVo> patientInfoList;
      }
  
      public static class VW_NRE_Doctor {
  
          String glide;
          String name;
          String office;
          String mark;
          String duty;
          byte[] pic;
      }
  
      public static class PatientInfoVo extends PatientInfo {
  
          String cols;
          String glide;
          String s_ic_no;
  
          // 注解禁止序列化
          @JSONField(serialize = false)
          public String getCols() {
              return cols;
          }
  
          // 注解禁止反序列化
          @JSONField(deserialize = false)
          public void setCols(String cols) {
              this.cols = cols;
          }
  
          public String getGlide() {
              return glide;
          }
  
          public void setGlide(String glide) {
              this.glide = glide;
          }
  
          public String getS_ic_no() {
              return s_ic_no;
          }
  
          public void setS_ic_no(String s_ic_no) {
              this.s_ic_no = s_ic_no;
          }
      }
  
      public static class PatientInfo {
  
          Integer patient_id;
          Integer patient_userId;
          String  patient_name;
          String  patient_sex;
          Integer patient_age;
          String  patient_tel;
          String  patient_idCard;
          Date    patient_addDate;
          Date    patient_Date;
          String  patient_s_ic_no;
          Integer patient_Master_Card;
      }
  }
  