private List<LayoutInstance> parseLayouts(JsonParser parser, String segment) throws JsonParseException, IOException {

        JsonToken current = parser.nextToken();

        assertExpectedJsonToken(current, JsonToken.START_ARRAY, parser.getCurrentLocation());

        List<LayoutInstance> layoutInThisSegment = new ArrayList<LayoutInstance>();

        while ((current = parser.nextToken()) != JsonToken.END_ARRAY) {

            assertExpectedJsonToken(current, JsonToken.START_OBJECT, parser.getCurrentLocation());

            String instanceId = getNextTextValue("sid", parser); // get
                                                                 // instanceId
            String layoutId = getNextTextValue("cid", parser); // get
                                                               // layoutId

            LayoutInstance layoutInstance = new LayoutInstance();
            layoutInstance.setCid(layoutId);
            layoutInstance.setSid(Long.valueOf(instanceId));
            layoutInThisSegment.add(layoutInstance);

            current = parser.nextToken(); // move to field: regions
            assertExpectedFiled(parser.getCurrentName(), "regions", parser.getCurrentLocation());

            layoutInstance.setRegions(parseRegions(parser, segment));

            assertExpectedJsonToken((current = parser.nextToken()), JsonToken.END_OBJECT, parser.getCurrentLocation());
        }
        return layoutInThisSegment;

    }
@param parser
@param segmentId
@throws JsonParseException
@throws IOException
src/test/java/com/alibaba/json/test/performance/JacksonPageModelParser.java