2014-10-20 4 views
4

У меня есть сценарий Cloud Code, который вытаскивает JSON из службы. Это JSON включает в себя массив объектов. Я хочу сохранить их в Parse, но используя определенный класс Parse. Как мне это сделать?Как создать объект определенного типа из JSON в Parse

Вот мой код.

Parse.Cloud.httpRequest({ 
    url: 'http://myservicehost.com', 
    headers: { 
     'Authorization': 'XXX' 
    }, 
    success: function(httpResponse) { 
     console.log("Success!"); 

     var json = JSON.parse(httpResponse.text); 
     var recipes = json.results; 

     for(int i=0; i<recipes.length; i++) { 
       var Recipe = Parse.Object.extend("Recipe"); 
       var recipeFromJSON = recipes[i]; 
       // how do i save recipeFromJSON into Recipe without setting all the fields one by one? 
     } 
    } 
}); 

ответ

1

Пример с этой страницы https://parse.com/docs/js/guide

var GameScore = Parse.Object.extend("GameScore"); 
var gameScore = new GameScore(); 

gameScore.save({ 
    score: 1337, 
    playerName: "Sean Plott", 
    cheatMode: false 
}, { 
    success: function(gameScore) { 
    // The object was saved successfully. 
    }, 
    error: function(gameScore, error) { 
    // The save failed. 
    // error is a Parse.Error with an error code and message. 
    } 
}); 
3

Я думаю, что я получил это работает. Вам необходимо установить для свойства className в объекте данных JSON имя вашего класса. (Нашел его в source code) Но я попробовал это только на стороне клиента.

for(int i=0; i<recipes.length; i++) { 
    var recipeFromJSON = recipes[i]; 
    recipeFromJSON.className = "Recipe"; 
    var recipeParseObject = Parse.Object.fromJSON(recipeFromJSON); 
    // do stuff with recipeParseObject 
} 
+0

Большое вам спасибо, я искал этот ответ в течение нескольких дней. Супер простой – adlondon

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