2015-07-14 4 views
1

Сценария:Можно ли преобразовать объекты в JSON для Parse.com объектов (PFObject)

В моем Разборе бэкэнде, у меня есть два класса:

А и Б

Там нет никакой связи между а и В.

Я создал функцию облака кода под названием getAandB(), который возвращает JSON несколько так:

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

Вопрос:

Так на клиенте, я использую PFCloud.callFunction("getAandB") и когда я получаю этот ответ JSON, есть способ волшебным «превратить» это в два PFObjects, один PFObject(className: "A") и один PFObject(className: "B")?

Примечание:

Я знаю, что если я только возвращаю JSON как это:

{ "anObjectOfClassA" : { 
      id = 123456, 
      text = "Hello" 
      } 
    } 

Я "десериализация" ответ и вернуться непосредственно в PFObject(className: "A"). Но я не могу этого сделать в моем примере, потому что JSON содержит два разных типа объектов.

+0

Можете ли вы расширить волшебно "трансформировать"? – CubanAzcuy

+0

TL; DR: Вам не нужно. Если вы используете Parse 'PFCloud.callFunctionInBackground' для вызова облачной функции от клиента (iOS в моем случае) и если вы возвращаете объекты непосредственно из своего облачного кода (возвращайте один или несколько объектов из запроса через response.success ()), то метод Parse на стороне клиента автоматически сделает это за вас. Я пошел на попытку сериализации JSON, только чтобы понять, что функции Parse на стороне клиента уже сделали это. –

+0

@chrisco, даже если возвращаемые объекты имеют разные классы? –

ответ

0

Я не знаю, будет ли это работать, я не пробовал, но ...... если вы получаете случайный JSON объектов, которые хотите преобразовать, вы можете разделить объекты по ключу и создать массив объекты, которые вы хотите быть объектом синтаксического анализа 1). Затем вы можете снова разбить объект в массиве и получить набор свойств для объекта parse. Используя javascript API, вы можете создать и сохранить объект JSON для каждого из них. Я смущен тем, почему вы будете использовать этот метод, а не просто запрос информации. Но некоторые Судо-код Ниже .....

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(); 
} 

1) Getting JavaScript object key list

Смежные вопросы