Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.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
Android 是否可以将JSON中的对象转换为Parse.com对象(PFObject)_Android_Ios_Parse Platform - Fatal编程技术网

Android 是否可以将JSON中的对象转换为Parse.com对象(PFObject)

Android 是否可以将JSON中的对象转换为Parse.com对象(PFObject),android,ios,parse-platform,Android,Ios,Parse Platform,场景: 在我的解析后端中,我有两个类: A和B A和B之间没有关系 我创建了一个名为getAandB()的云代码函数,该函数返回类似以下内容的JSON: { "anObjectOfClassA" : { id = 123456, text = "Hello" }, "anObjectOfClassB" : { id = 987654, value = 30.0 } } { "

场景:

在我的解析后端中,我有两个类:

A和B

A和B之间没有关系

我创建了一个名为
getAandB()
的云代码函数,该函数返回类似以下内容的JSON:

{ "anObjectOfClassA" : { 
         id = 123456,
         text = "Hello"
         },
  "anObjectOfClassB" : {
         id = 987654,
         value = 30.0
         }
}
   { "anObjectOfClassA" : { 
             id = 123456,
             text = "Hello"
             }
   }
问题:

因此,在客户端上,我使用了
PFCloud.callFunction(“getAandB”)
,当我收到这个JSON响应时,有没有办法神奇地“转换”成两个PFObject,一个
PFObject(className:“a”)
,一个
PFObject(className:“B”)

备注:

我知道如果我只返回这样的JSON:

{ "anObjectOfClassA" : { 
         id = 123456,
         text = "Hello"
         },
  "anObjectOfClassB" : {
         id = 987654,
         value = 30.0
         }
}
   { "anObjectOfClassA" : { 
             id = 123456,
             text = "Hello"
             }
   }

我可以“反序列化”响应并直接返回一个
PFObject(className:“a”)
。但在我的示例中,我无法做到这一点,因为JSON包含两种不同类型的对象。

我不知道这是否可行,我没有尝试过,但是……如果您收到一个随机的JSON对象,您希望转换,您可以按键拆分对象,并创建一个对象数组,您希望成为解析对象1)。然后,您可以再次拆分数组中的if对象,并为您解析对象获取一组属性。使用JavaScriptAPI,您可以为它们中的每一个创建和保存JSON对象。我不明白为什么你会使用这种方法,而不仅仅是查询信息。但是下面的一些Sudo代码

var listOfObjects = [];
for(var k in obj) listOfObjects.push(k);

for(var i =0; i < listOfObjects.length; i++){
    var parseObject = Parse.Object.extend(listOfObjects[i]);
    for(var k in listOfObjects[i]){
        parseObject.set(k, listOfObjects[i][k]);
    }
    parseObject.save();
}
var listOfObjects=[];
对于(obj中的变量k)listOfObjects.push(k);
for(var i=0;i

1)

我不知道这是否有效,我还没有尝试过,但是……如果您收到一个随机的JSON对象,您希望转换,您可以按键分割对象,并创建一个对象数组,您希望成为解析对象1)。然后,您可以再次拆分数组中的if对象,并为您解析对象获取一组属性。使用JavaScriptAPI,您可以为它们中的每一个创建和保存JSON对象。我不明白为什么你会使用这种方法,而不仅仅是查询信息。但是下面的一些Sudo代码

var listOfObjects = [];
for(var k in obj) listOfObjects.push(k);

for(var i =0; i < listOfObjects.length; i++){
    var parseObject = Parse.Object.extend(listOfObjects[i]);
    for(var k in listOfObjects[i]){
        parseObject.set(k, listOfObjects[i][k]);
    }
    parseObject.save();
}
var listOfObjects=[];
对于(obj中的变量k)listOfObjects.push(k);
for(var i=0;i

1)

你能神奇地展开“变换”吗;医生:你不需要。如果您使用Parse的
PFCloud.callFunctionInBackground
从客户端调用云函数(在我的例子中是iOS),并且如果您直接从云代码返回对象(通过response.success()从查询返回一个或多个对象),那么客户端Parse方法将自动为您执行此操作。我努力序列化JSON,却发现客户端解析函数已经完成了这项工作。@chrisco,即使返回的对象属于不同的类?你能神奇地扩展“transform”?TL;医生:你不需要。如果您使用Parse的
PFCloud.callFunctionInBackground
从客户端调用云函数(在我的例子中是iOS),并且如果您直接从云代码返回对象(通过response.success()从查询返回一个或多个对象),那么客户端Parse方法将自动为您执行此操作。我努力序列化JSON,却发现客户端解析函数已经完成了这项工作。@chrisco,即使返回的对象属于不同的类?