GVKun编程网logo

FastJson 解析报错deserializer error(fastjson 解析报错 unclosed.str.lit)

17

在本文中,我们将给您介绍关于FastJson解析报错deserializererror的详细内容,并且为您解答fastjson解析报错unclosed.str.lit的相关问题,此外,我们还将为您提供

在本文中,我们将给您介绍关于FastJson 解析报错deserializer error的详细内容,并且为您解答fastjson 解析报错 unclosed.str.lit的相关问题,此外,我们还将为您提供关于com.alibaba.fastjson.parser.deserializer.ArrayListStringFieldDeserializer的实例源码、com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer的实例源码、com.alibaba.fastjson.parser.deserializer.ASMDeserializerFactory的实例源码、com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer的实例源码的知识。

本文目录一览:

FastJson 解析报错deserializer error(fastjson 解析报错 unclosed.str.lit)

FastJson 解析报错deserializer error(fastjson 解析报错 unclosed.str.lit)

title: FastJson 解析报错deserializer error
date: 2015-08-24 19:59:08
categories: ANDROID

tags: fastjson

小小程序猿
我的博客:http://daycoding.com

junit 测试解析json数据报错

com.alibaba.fastjson.JSONException: create asm deserializer error, com.dituwuyou.bean.User
    at com.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:529)
    at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:430)
    at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:351)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:548)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:251)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:227)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:186)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:304)
    at com.dituwuyou.service.impl.UserService.getUserInfo(UserService.java:108)
    at com.dituwuyou.service.impl.UserService.bindUmengNotifacation(UserService.java:80)
    at com.dituwuyou.service.impl.UserService_.access$001(UserService_.java:11)
    at com.dituwuyou.service.impl.UserService_$1.execute(UserService_.java:44)
    at org.androidannotations.api.BackgroundExecutor$Task.run(BackgroundExecutor.java:393)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at com.alibaba.fastjson.parser.deserializer.ASMDeserializerFactory.createJavaBeanDeserializer(ASMDeserializerFactory.java:110)
    at com.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:520)
    ... 19 more
Caused by: java.lang.LinkageError: com/alibaba/fastjson/parser/ParserConfig
    at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.createFieldDeserializer(ASMJavaBeanDeserializer.java:41)
    at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer$InnerJavaBeanDeserializer.createFieldDeserializer(ASMJavaBeanDeserializer.java:90)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.addFieldDeserializer(JavaBeanDeserializer.java:82)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.<init>(JavaBeanDeserializer.java:47)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.<init>(JavaBeanDeserializer.java:38)
    at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer$InnerJavaBeanDeserializer.<init>(ASMJavaBeanDeserializer.java:81)
    at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer$InnerJavaBeanDeserializer.<init>(ASMJavaBeanDeserializer.java:78)
    at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.<init>(ASMJavaBeanDeserializer.java:16)
    at Fastjson_ASM_User_2.<init>(Unknown Source)
    ... 25 more

解决方案
设置ParserConfig.getGlobalInstance().setAsmEnable(false);

参考
FastJson 官方github issue

com.alibaba.fastjson.parser.deserializer.ArrayListStringFieldDeserializer的实例源码

com.alibaba.fastjson.parser.deserializer.ArrayListStringFieldDeserializer的实例源码

项目:android_http_demo    文件:ParserConfig.java   
public FieldDeserializer createFieldDeserializerWithoutASM(ParserConfig mapping,Class<?> clazz,FieldInfo fieldInfo) {
    Class<?> fieldClass = fieldInfo.getFieldClass();

    if (fieldClass == boolean.class || fieldClass == Boolean.class) {
        return new BooleanFieldDeserializer(mapping,clazz,fieldInfo);
    }

    if (fieldClass == int.class || fieldClass == Integer.class) {
        return new IntegerFieldDeserializer(mapping,fieldInfo);
    }

    if (fieldClass == long.class || fieldClass == Long.class) {
        return new LongFieldDeserializer(mapping,fieldInfo);
    }

    if (fieldClass == String.class) {
        return new StringFieldDeserializer(mapping,fieldInfo);
    }

    if (fieldClass == List.class || fieldClass == ArrayList.class) {
        Type fieldType = fieldInfo.getFieldType();
        if (fieldType instanceof ParameterizedType) {
            Type itemType = ((ParameterizedType) fieldType).getActualTypeArguments()[0];
            if (itemType == String.class) {
                return new ArrayListStringFieldDeserializer(mapping,fieldInfo);
            }
        }

        return new ArrayListTypeFieldDeserializer(mapping,fieldInfo);
    }

    return new DefaultFieldDeserializer(mapping,fieldInfo);
}
项目:AndroidNio    文件:ParserConfig.java   
public FieldDeserializer createFieldDeserializerWithoutASM(ParserConfig mapping,fieldInfo);
}

com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer的实例源码

com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer的实例源码

项目:boohee_v5.6    文件:ParserConfig.java   
public FieldDeserializer createFieldDeserializerWithoutASM(ParserConfig mapping,Class<?> clazz,FieldInfo fieldInfo) {
    Class<?> fieldClass = fieldInfo.getFieldClass();
    if (fieldClass == Boolean.TYPE || fieldClass == Boolean.class) {
        return new BooleanFieldDeserializer(mapping,clazz,fieldInfo);
    }
    if (fieldClass == Integer.TYPE || fieldClass == Integer.class) {
        return new IntegerFieldDeserializer(mapping,fieldInfo);
    }
    if (fieldClass == Long.TYPE || fieldClass == Long.class) {
        return new LongFieldDeserializer(mapping,fieldInfo);
    }
    if (fieldClass == String.class) {
        return new StringFieldDeserializer(mapping,fieldInfo);
    }
    if (fieldClass == List.class || fieldClass == ArrayList.class) {
        return new ArrayListTypeFieldDeserializer(mapping,fieldInfo);
    }
    return new DefaultFieldDeserializer(mapping,fieldInfo);
}
项目:uavstack    文件:ParserConfig.java   
public FieldDeserializer createFieldDeserializerWithoutASM(ParserConfig mapping,FieldInfo fieldInfo) {
    Class<?> fieldClass = fieldInfo.getFieldClass();

    if (fieldClass == boolean.class || fieldClass == Boolean.class) {
        return new BooleanFieldDeserializer(mapping,fieldInfo);
    }

    if (fieldClass == int.class || fieldClass == Integer.class) {
        return new IntegerFieldDeserializer(mapping,fieldInfo);
    }

    if (fieldClass == long.class || fieldClass == Long.class) {
        return new LongFieldDeserializer(mapping,fieldInfo);
    }

    if (fieldClass == String.class) {
        return new StringFieldDeserializer(mapping,fieldInfo);
    }

    if (fieldClass == List.class || fieldClass == ArrayList.class) {
        return new ArrayListTypeFieldDeserializer(mapping,fieldInfo);
    }

    return new DefaultFieldDeserializer(mapping,fieldInfo);
}
项目:itmarry    文件:ParserConfig.java   
public FieldDeserializer createFieldDeserializerWithoutASM(ParserConfig mapping,fieldInfo);
}
项目:android_http_demo    文件:ParserConfig.java   
public FieldDeserializer createFieldDeserializerWithoutASM(ParserConfig mapping,fieldInfo);
    }

    if (fieldClass == List.class || fieldClass == ArrayList.class) {
        Type fieldType = fieldInfo.getFieldType();
        if (fieldType instanceof ParameterizedType) {
            Type itemType = ((ParameterizedType) fieldType).getActualTypeArguments()[0];
            if (itemType == String.class) {
                return new ArrayListStringFieldDeserializer(mapping,fieldInfo);
            }
        }

        return new ArrayListTypeFieldDeserializer(mapping,fieldInfo);
}
项目:AndroidNio    文件:ParserConfig.java   
public FieldDeserializer createFieldDeserializerWithoutASM(ParserConfig mapping,fieldInfo);
}

com.alibaba.fastjson.parser.deserializer.ASMDeserializerFactory的实例源码

com.alibaba.fastjson.parser.deserializer.ASMDeserializerFactory的实例源码

项目:GitHub    文件:TestASM_primitive.java   
public void test_asm() throws Exception {

        ASMDeserializerFactory factory = new ASMDeserializerFactory(new ASMClassLoader());
        Exception error = null;
        try {
            JavaBeanInfo beanInfo = JavaBeanInfo.build(int.class,int.class,null);
            factory.createJavaBeanDeserializer(ParserConfig.getGlobalInstance(),beanInfo);
        } catch (Exception ex) {
            error = ex;
        }
        assertNotNull(error);
    }
项目:boohee_v5.6    文件:ParserConfig.java   
public ParserConfig(ASMDeserializerFactory asmFactory) {
    this(asmFactory,null);
}
项目:uavstack    文件:ParserConfig.java   
public ParserConfig(ASMDeserializerFactory asmFactory){
    this(asmFactory,null);
}
项目:itmarry    文件:ParserConfig.java   
public ParserConfig() {
    this(ASMDeserializerFactory.getInstance());
}
项目:itmarry    文件:ParserConfig.java   
public ParserConfig(ClassLoader parentClassLoader){
    this(new ASMDeserializerFactory(parentClassLoader));
}

com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer的实例源码

com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer的实例源码

项目:boohee_v5.6    文件:ParserConfig.java   
public Map<String,FieldDeserializer> getFieldDeserializers(Class<?> clazz) {
    ObjectDeserializer deserizer = getDeserializer((Type) clazz);
    if (deserizer instanceof JavaBeanDeserializer) {
        return ((JavaBeanDeserializer) deserizer).getFieldDeserializerMap();
    }
    if (deserizer instanceof ASMJavaBeanDeserializer) {
        return ((ASMJavaBeanDeserializer) deserizer).getInnterSerializer().getFieldDeserializerMap();
    }
    return Collections.emptyMap();
}
项目:uavstack    文件:ParserConfig.java   
public Map<String,FieldDeserializer> getFieldDeserializers(Class<?> clazz) {
    ObjectDeserializer deserizer = getDeserializer(clazz);

    if (deserizer instanceof JavaBeanDeserializer) {
        return ((JavaBeanDeserializer) deserizer).getFieldDeserializerMap();
    } else if (deserizer instanceof ASMJavaBeanDeserializer) {
        return ((ASMJavaBeanDeserializer) deserizer).getInnterSerializer().getFieldDeserializerMap();
    } else {
        return Collections.emptyMap();
    }
}
项目:itmarry    文件:ParserConfig.java   
public Map<String,FieldDeserializer> getFieldDeserializers(Class<?> clazz) {
    ObjectDeserializer deserizer = getDeserializer(clazz);

    if (deserizer instanceof JavaBeanDeserializer) {
        return ((JavaBeanDeserializer) deserizer).getFieldDeserializerMap();
    } else if (deserizer instanceof ASMJavaBeanDeserializer) {
        return ((ASMJavaBeanDeserializer) deserizer).getInnterSerializer().getFieldDeserializerMap();
    } else {
        return Collections.emptyMap();
    }
}

关于FastJson 解析报错deserializer errorfastjson 解析报错 unclosed.str.lit的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于com.alibaba.fastjson.parser.deserializer.ArrayListStringFieldDeserializer的实例源码、com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer的实例源码、com.alibaba.fastjson.parser.deserializer.ASMDeserializerFactory的实例源码、com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer的实例源码等相关内容,可以在本站寻找。

本文标签: