Какой самый быстрый и простой способ конвертировать мой json, содержащий данные объектов, в реальные объекты с приложенными методами?
В качестве примера я получаю данные для фруктоволокна с множеством фруктовых объектов, которые, в свою очередь, содержат массив семян, таким образом:
{"fruitbowl": [{
"name": "apple",
"color": "red",
"seeds": []
},{
"name": "orange",
"color": "orange",
"seeds": [
{"size":"small","density":"hard"},
{"size":"small","density":"soft"}
]}
}
Что все хорошо и хорошо, но на клиенте мы делаем вещи с этими фруктами, как есть и сажать деревья...
var fruitbowl = []
function Fruit(name, color, seeds){
this.name = name
this.color = color
this.seeds = seeds
this.eat = function(){
// munch munch
}
}
function Seed(size, density){
this.size = size
this.density = density
this.plant = function(){
// grow grow
}
}
В настоящее время моя процедура успеха ajax в настоящее время зацикливается над вещью и строит каждый объект по очереди, и он еще не обрабатывает семена, потому что, прежде чем я перейду к циклу над конструкторами семян, я думаю
Нет ли лучшего способа?
success: function(data){
fruitbowl.length = 0
$.each(data.fruitbowl, function(i, f){
fruitbowl.push(new Fruit(f.name, f.color, f.seeds))
})
Я не исследовал переходы по объектам так, как они есть, и приложил все методы. Будет ли это работать?