0

単一のモデルにロードするための構造が均一ではない単一の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を1つだけ取得します。SproutCoreでそれを達成するにはどうすればよいですか?

私が行った調査:

「単一のJSONをSproutCoreモデルにロードする方法」というフレーズでGoogleを検索しました。しかし、私の質問に答える結果は得られませんでした。StackOverflowも検索しました。しかし、ここでも結果は得られませんでした。したがって、私は試してみるアプローチ/アイデア/入力/アプローチを取得できませんでした。私が試したことを示すコードサンプルはありません。

4

1 に答える 1

1

仮定:

  1. あなたのjsonは文字列です。
  2. あなたはSC.Storeを持っています
  3. モデルは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には、サーバーがモデルインスタンスに割り当てるある種のIDが必要です。

于 2013-02-07T14:16:29.207 に答える