package com.alibaba.json.bvt.writeAsArray; import java.util.ArrayList; import java.util.List; import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.parser.Feature; import com.alibaba.fastjson.serializer.SerializerFeature; public class WriteAsArray_list_obj_first_public extends TestCase { public void test_0() throws Exception { VO vo = new VO(); vo.setId(123); vo.setName("wenshao"); vo.getFvalues().add(new A()); String text = JSON.toJSONString(vo, SerializerFeature.BeanToArray); Assert.assertEquals("[[[0]],123,\"wenshao\"]", text); VO vo2 = JSON.parseObject(text, VO.class, Feature.SupportArrayToBean); Assert.assertEquals(vo.getId(), vo2.getId()); Assert.assertEquals(vo.getName(), vo2.getName()); Assert.assertEquals(vo.getFvalues().size(), vo2.getFvalues().size()); Assert.assertEquals(vo.getFvalues().get(0).getClass(), vo2.getFvalues().get(0).getClass()); Assert.assertEquals(vo.getFvalues().get(0).getValue(), vo2.getFvalues().get(0).getValue()); } public static class VO { private long id; private String name; private List<A> fvalues = new ArrayList<A>(); public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<A> getFvalues() { return fvalues; } public void setFvalues(List<A> fvalues) { this.fvalues = fvalues; } } public static class A { private int value; public int getValue() { return value; } public void setValue(int value) { this.value = value; } } }