content: package com.alibaba.json.bvt.writeAsArray;
  
  import junit.framework.TestCase;
  
  import org.junit.Assert;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.annotation.JSONField;
  import com.alibaba.fastjson.annotation.JSONType;
  import com.alibaba.fastjson.parser.Feature;
  import com.alibaba.fastjson.serializer.SerializerFeature;
  
  public class WriteAsArray_jsonType extends TestCase {
  
      public void test_0() throws Exception {
          VO vo = new VO();
          vo.setId(123);
          vo.setName("wenshao");
          
          Parent parent = new Parent();
          parent.setVo(vo);
  
          String text = JSON.toJSONString(parent);
          Assert.assertEquals("{\"vo\":[123,\"wenshao\"]}", text);
          VO vo2 = JSON.parseObject(text, Parent.class).getVo();
          Assert.assertEquals(vo.getId(), vo2.getId());
          Assert.assertEquals(vo.getName(), vo2.getName());
      }
  
      public static class Parent {
          private VO vo;
  
          public VO getVo() {
              return vo;
          }
  
          public void setVo(VO vo) {
              this.vo = vo;
          }
  
      }
  
      @JSONType(serialzeFeatures=SerializerFeature.BeanToArray, parseFeatures=Feature.SupportArrayToBean)
      public static class VO {
          @JSONField(ordinal=1)
          private int    id;
          
          @JSONField(ordinal=2)
          private String name;
  
          public int getId() {
              return id;
          }
  
          public void setId(int id) {
              this.id = id;
          }
  
          public String getName() {
              return name;
          }
  
          public void setName(String name) {
              this.name = name;
          }
      }
  }
  