【问题标题】:JSONSerializer.toJSON ClassNotFoundException in BaseDexClassLoaderBaseDexClassLoader 中的 JSONSerializer.toJSON ClassNotFoundException
【发布时间】:2014-01-19 14:46:26
【问题描述】:

JSONSerializer 有问题。 我有这个方法:

public List<BusinessObject> transferToDomain(String pJSON) {
        List<BusinessObject> lAllBusinessObject = new ArrayList<BusinessObject>();
        if (null == pJSON || pJSON.equals("")) {
            return lAllBusinessObject;
        }
        JSON lJSON = JSONSerializer.toJSON(pJSON);
        if (lJSON.isEmpty()) {
            return lAllBusinessObject;
        } else {
            if (lJSON.isArray()) {
                JSONArray lJSONArray = (JSONArray) lJSON;
                for (Object lObject : lJSONArray) {
                    JSONObject lJSONObject = (JSONObject) lObject;
                    lAllBusinessObject.add(doTransfer(lJSONObject));
                }
            } else {
                JSONObject json = (JSONObject) lJSON;
                BusinessObject lBusinessObject = doTransfer(json);
                if (null != lBusinessObject) {
                    lAllBusinessObject.add(lBusinessObject);
                }
            }
        }
        return lAllBusinessObject;
    }

它将 JSON 字符串转换为相关的业务对象。 JSONSerializer.toJSON(pJSon); 行运行良好,例如使用该 Json-Code:

[{"user":{"uid":51,"ustempel":0,"uname":"Stefan47"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":51,"rank":1,"sstempel":0,"model":"SCORE"},
{"user":{"uid":65,"ustempel":0,"uname":"Stefan61"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":65,"rank":2,"sstempel":0,"model":"SCORE"},
{"user":{"uid":66,"ustempel":0,"uname":"Stefan62"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":66,"rank":3,"sstempel":0,"model":"SCORE"},
{"user":{"uid":67,"ustempel":0,"uname":"Stefan63"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":67,"rank":4,"sstempel":0,"model":"SCORE"},
{"user":{"uid":68,"ustempel":0,"uname":"Stefan64"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":68,"rank":5,"sstempel":0,"model":"SCORE"},
{"user":{"uid":69,"ustempel":0,"uname":"Stefan65"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":69,"rank":6,"sstempel":0,"model":"SCORE"},
{"user":{"uid":70,"ustempel":0,"uname":"Stefan66"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":70,"rank":7,"sstempel":0,"model":"SCORE"},
{"user":{"uid":71,"ustempel":0,"uname":"Stefan67"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":71,"rank":8,"sstempel":0,"model":"SCORE"},
{"user":{"uid":72,"ustempel":0,"uname":"Stefan68"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":72,"rank":9,"sstempel":0,"model":"SCORE"},
{"user":{"uid":73,"ustempel":0,"uname":"Stefan69"
    ,"model":"USER"},"points":882,"level":27,"scomment":"Wuhuuuu"
    ,"sid":73,"rank":10,"sstempel":0,"model":"SCORE"}]

但使用 JSON 代码:

[{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":1,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"Die Bundesliga"
    ,"qid":1303,"qstempel":1390138057765,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":1,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"Premiure League"
    ,"qid":1636,"qstempel":1390138059690,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":3,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"WM"
    ,"qid":1582,"qstempel":1390138059395,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":3,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"Die Bundesliga"
    ,"qid":1421,"qstempel":1390138058497,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":3,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"Premiure League"
    ,"qid":1708,"qstempel":1390138060083,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":1,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"WM"
    ,"qid":1470,"qstempel":1390138058774,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":2,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"Premiure League"
    ,"qid":1667,"qstempel":1390138059857,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":2,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"WM"
    ,"qid":1539,"qstempel":1390138059158,"model":"QUESTION"},
{"question":"Wer bist Du?"
    ,"answer1":"Jens"
    ,"answer2":"Anja"
    ,"answer3":"Stefan"
    ,"answer4":"Willi"
    ,"correctAnswer":3,"difficulty":2,"active":true,"deleted":false,"language":"DE"
    ,"key":"DE_QZ"
    ,"cat":"Die Bundesliga"
    ,"qid":1381,"qstempel":1390138058267,"model":"QUESTION"}]

抛出了这个异常,我完全不知道为什么???

java.lang.ClassNotFoundException:在路径上找不到类“java.beans.PropertyDescriptor”:DexPathList[[zip file "/data/app/bc.qz.client.android-2.apk"],nativeLibraryDirectories =[/data/app-lib/bc.qz.client.android-2, /system/lib]]

谁能给我一些建议,为什么会发生这种情况?

提前致谢

斯蒂芬

【问题讨论】:

    标签: java json classnotfoundexception jsonserializer


    【解决方案1】:

    java.lang.ClassNotFoundException:在路径上找不到类“java.beans.PropertyDescriptor”:DexPathList[[zip file "/data/app/bc.qz.client.android-2.apk"],nativeLibraryDirectories =[/data/app-lib/bc.qz.client.android-2, /system/lib]]

    某物具有未加载到一个代码路径但位于另一个代码路径的依赖项。 Android API 仅提供 Java 6 API 的子集:

    PropertyDescriptor 未提供。如果您自己的代码不使用这种类型,那么很可能是您的某个库需要它。

    【讨论】:

    • 这很奇怪......我将该类的创建放入我的android项目的另一个活动(onCreate)中,现在它可以正常工作了。 +1 为您提供帮助
    猜你喜欢
    • 1970-01-01
    • 2022-11-24
    • 2018-02-16
    • 2021-11-29
    • 2012-05-23
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多