Как загрузить один файл JSON в модель SproutCore?
У меня есть один файл JSON, структура которого не является равномерной для загрузки в одну модель. У него есть данные для экрана. Типичная структура JSON, как показано ниже.
{
"Model1":{
"key1":"value1",
"key2" : "value2"
},
"Model2":[
{
"key1":"value1",
"key2" : "value2"
},
{
"key1":"value1",
"key2" : "value2"
"subModel":[
{
"key1":"value1",
"key2" : "value2"
},
{
"key1":"value1",
"key2" : "value2"
}
]
}
]
Теперь я должен разделить этот JSON и загрузить его в разные модели. С сервера я получу только один JSON. Как я могу добиться этого в SproutCore?
Исследование, которое я сделал:
Я искал в Google фразу "Как загрузить один JSON в модель SproutCore?". Тем не менее, я не получил никаких результатов, которые отвечают на мой вопрос. Я также искал на переполнение стека. Но я тоже не получил никаких результатов. Поэтому у меня не было подходов / идей / входов / подходов, у меня нет примера кода, чтобы показать, что я пробовал.
1 ответ
Предположения:
- Ваш JSON это строка.
- У вас есть SC.Store
- Ваши модели определены как экземпляры SC.Record (например, App.Model1)
тогда вы можете сделать
var json = JSON.parse(yourJsonString);
var model1 = json["Model1"];
var model2Arr = json['Model2'];
// loadRecord for a single instance
store.loadRecord(App.Model1, model1, model1.serverIdProp);
// loadRecords for a bunch of instances
store.loadRecords(App.Model2, model2Arr, model2Arr.getEach('serverIdProp'));
Примечание: ваш json должен иметь какой-то идентификатор, который сервер назначает экземплярам вашей модели.