0

私は Knockout チュートリアルに目を通しており、JSON の例では、Web サービスが次のような JSON を返すことを想定しています (JSON オブジェクトの配列の場合)。

[  { "id": 1}, { "id": 2}, { "id": 3} ]

異なる構造の JSON を返すサービスをどのように処理しますか?

[ { "resource": { "id": 1} }, { "resource": { "id": 2} }, { "resource": { "id": 3 } } ]

リソース名ではなく、ID 名が必要です。

ありがとう。

編集:リソースの不適切なフォーマットを修正しました(マットごと)。JSON は有効ですが、KO の例が期待する形式ではありません。

4

1 に答える 1

2

データをループして平坦化できるはずです (元のデータが JSON ではなく JavaScript オブジェクトの配列であると仮定します)。

var original = JSON.parse([ { "resource": { "id": 1} }, { "resource": { "id": 2} }, { "resource": { "id": 3 } } ]);
var flattened = [];
for (var i=0; i < original.length; i++) {
    flattened.push(original[i].resource);
}

出力を再度 JSON として戻す必要がある場合は、次を使用できます。JSON.stringify

于 2013-03-28T19:12:28.577 に答える