Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Parse&;从JSON创建对象;Android的Java_Java_Android_Json_Parse Platform - Fatal编程技术网

使用Parse&;从JSON创建对象;Android的Java

使用Parse&;从JSON创建对象;Android的Java,java,android,json,parse-platform,Java,Android,Json,Parse Platform,我最近开始做Android开发,我正在使用Parse.com和原生Java构建应用程序。我要做的是弄清楚如何通过Parse的回调从JSON结果创建对象 我通过Parse调用的方法如下所示。 (有关此方法的更多信息,请参阅文档): ParseCloud.callFunctionInBackground(“RetrieveTasks”、new HashMap()、new FunctionCallback()){ void done(对象结果,parsee异常){ 如果(e==null){ //用物体

我最近开始做Android开发,我正在使用Parse.com和原生Java构建应用程序。我要做的是弄清楚如何通过Parse的回调从JSON结果创建对象

我通过Parse调用的方法如下所示。 (有关此方法的更多信息,请参阅文档):

ParseCloud.callFunctionInBackground(“RetrieveTasks”、new HashMap()、new FunctionCallback()){
void done(对象结果,parsee异常){
如果(e==null){
//用物体做东西
}
}
});
我尝试将函数回调更改为一个类,该类接受json,json被描述为一组字符串和任务对象的ListArray。但它不会创建对象。它总是希望使用HashMap。有没有办法将数据转换成我想要的对象,而不是HashMap?我是否需要在对象上“实现”一个接口,以允许在回调时创建对象


在此方面的任何帮助都将不胜感激

什么对象被添加到HashMap?它是JSONObject吗? 如果是这样,您可以使用构造函数将JSONObject和JSONObject中的数据转换为您要查找的任何自定义对象

例如,如果返回的JSONObject称为“输出”:

等等

然后使用对象的构造函数创建新对象:

    Object obj = new Object(count, lang, firstID);
等等


hasMap看起来只是字符串,数组的ListArray。老实说,我对你最初的问题有点不清楚,因为我从未使用过这些解析方法。但是如果返回的是一个字符串,可以使用JSONObject newjsonobject=newjsonobject(string);为了生成JSONObject,然后使用我最初在答案中输入的内容对其进行解析?我将尝试更清楚地解释,也许这也是我对Java JSONObject无知的一部分,我将对该对象进行更多研究,但是来自parse的回调方法从我在解析系统中编写的API中获取构造的JSON,返回keyvalues的HashMap,keyvalues是字符串和对象,我必须将这些对象转换为string或ListArray来检索数据。我的希望是我可以说new FunctionCallback(),然后动态创建这个类。
ParseCloud.callFunctionInBackground("RetrieveTasks", new HashMap<String, Object>(), new FunctionCallback<Object>() {
  void done(Object result, ParseException e) {
    if (e == null) {
      // do stuff with object
    }
  }
});
    try {
        JSONObject result = output.getJSONObject("result");
        int count = result.getInt("count");
        String lang = result.getString("lang");

        JSONArray tasks = result.getJSONArray("tasks");
        JSONObject firstObjectInArray = tasks.getJSONObject(0);
        String firstID = firstObjectInArray.getString("ID");
    } catch (JSONException e) {
        e.printStackTrace();
    }
    Object obj = new Object(count, lang, firstID);