@@ -0,0 +1,1294 @@
+package com.alibaba.json.bvt.parser.deser;%0A%0Aimport com.alibaba.fastjson.JSON;%0Aimport com.alibaba.fastjson.parser.deserializer.PropertyProcessable;%0Aimport junit.framework.TestCase;%0A%0Aimport java.lang.reflect.Type;%0A%0A/**%0A * Created by wenshao on 15/07/2017.%0A */%0Apublic class PropertyProcessableTest_0 extends TestCase %7B%0A    public void test_processable() throws Exception %7B%0A        VO vo = JSON.parseObject(%22%7B%5C%22vo_id%5C%22:123,%5C%22vo_name%5C%22:%5C%22abc%5C%22,%5C%22value%5C%22:%7B%7D%7D%22, VO.class);%0A        assertEquals(123, vo.id);%0A        assertEquals(%22abc%22, vo.name);%0A        assertNotNull(vo.value);%0A    %7D%0A%0A    public static class VO implements PropertyProcessable %7B%0A        public int id;%0A        public String name;%0A        public Value value;%0A%0A        public Type getType(String name) %7B%0A            if (%22value%22.equals(name)) %7B%0A                return Value.class;%0A            %7D%0A            return null;%0A        %7D%0A%0A        public void apply(String name, Object value) %7B%0A            if (%22vo_id%22.equals(name)) %7B%0A                this.id = ((Integer) value).intValue();%0A            %7D else if (%22vo_name%22.equals(name)) %7B%0A                this.name = (String) value;%0A            %7D else if (%22value%22.equals(name)) %7B%0A                this.value = (Value) value;%0A            %7D%0A        %7D%0A    %7D%0A%0A    public static class Value %7B%0A%0A    %7D%0A%7D%0A

add new custom deserializer api.