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;
}
}
}