ネストされたオブジェクトを含む json オブジェクトをクライアントからサーバーに渡したいです。
クライアント側では、私のデータ構造は次のようになります。
var response = {};
response['screening'] = '1';
response['assistance'] = 'wheelchair access';
response['guests'] = {};
response['guests']['1'] = {}
response['guests']['1']['first'] = 'John'
response['guests']['1']['last'] = 'Smith'
response['guests']['2'] = {}
response['guests']['2']['first'] = 'Dave'
response['guests']['2']['last'] = 'Smith'
私のajax呼び出しは次のようになります:
$.ajax({
type: "POST",
url: window.location.pathname,
data: response
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
このデータを python フラスコを使用して実行されるサーバーに投稿した後、request.form オブジェクトを使用して、クライアントから投稿された内容を調べます。データを同じように構造化したいと思いますが、これはサーバー上の出力です。
ImmutableMultiDict([('guests[1][first]', u'John'), ('screening', u'2'), ('guests[2][last]', u'Smith'), ('guests[2][first]', u'Dave'), ('assistance', u'wheelchair access'), ('guests[1][last]', u'Smith')])
ご覧のとおり、response['guests'] オブジェクトはフラット化され、そのすべての子は次のようになります。
「ゲスト[2][最初]」
... は単なる文字列であり、親の応答 ['guests'] の要素ではありません。
このデータ ブロックをクライアントからサーバーに送信し、その構造を適切に維持するためのより良い方法はありますか?
ありがとう!