无法从JSonObject获取文件

时间:2014-05-08 11:47:12

标签: android parse-platform

我在parse.com的localdataStore上有一些文件(图像),我想从那里获取文件,我已经实现了以下代码......

 ParseQuery<ParseObject> query = ParseQuery.getQuery("Test_class");

query.whereEqualTo("objectId", "SSDW232sda");
query.fromLocalDatastore();

    try{
        List<ParseObject> objects = queryChild.find();
        System.out.println(objects.size());
        ParseObject object = objects.get(0);


        JSONArray imagesArr = object.getJSONArray("images");

        for(int i=0;i<imagesArr.length();i++){
            try {
                ParseFile image =  (ParseFile) imagesArr.getJSONObject(i).get("name");//.getParseFile("name");
                byte[] img = image.getData();
                bitmaps.add(BitmapFactory.decodeByteArray(img , 0, img.length));
            } catch (ParseException e1) {
                e1.printStackTrace();
                System.out.println("could not get image");
            }
        }


    }catch(Exception e) {
      e.printStackTrace();
    }

但它会出现以下错误

 java.lang.ClassCastException: java.lang.String cannot be cast to com.parse.ParseFile

帮我解决这个问题..

1 个答案:

答案 0 :(得分:1)

这是JSON的规范。那里没有ParseFile个对象。

您可能希望从JSON获取String,将其转换为字节数组,然后调用ParseFile构造函数。

实施例

String stringFromJson = json.getString("whatever_key_you_need");
byte[] stringFromJsonAsByteArray = stringFromJson.getBytes();

ParseFile parseFile = new ParseFile("filename.txt", stringFromJsonAsByteArray);