【问题标题】:not able to get File from JSonObject无法从 JSonObject 获取文件
【发布时间】:2014-05-08 11:47:11
【问题描述】:

我在 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

帮我解决这个问题..

【问题讨论】:

  • 我上面提到的错误是log cat error...你问什么响应?
  • 你得到这个是因为 imagesArr.getJSONObject(i).get("name") 返回一个 String 对象。也许是文件名?在 imagesArr.getJSONObject(i).get("name") 上打印一行,看看你得到了什么。此外,您应该包含将图像数组写入 localdatastore 的代码

标签: android parse-platform


【解决方案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);

【讨论】:

  • 正确获取值但是当转换为位图并设置为 ImageView 时显示空框...
  • 您确定要ParseFile 而不是ParseImageView?看看他们的文档 :: parse.com/docs/android_guide
  • 我正在将 byteArray 转换为位图并将其设置为 imageView,但我什么都看不到...
  • 它给出 --- SkImageDecoder::Factory 返回 null
  • 也许这会有所帮助 :: stackoverflow.com/questions/12006785/…
猜你喜欢
  • 2018-12-09
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-03
相关资源
最近更新 更多