2016-07-19 12 views
1

Iの形式でDjangoのrequest.POSTを取得しています: { '':1、 'のB [C]':2、 'のB [D]':3、 'のB [E]を[ :4、 'F [G]':5、 '[H] F':私は形式で辞書を得るように6 }Python-Djangoでリクエストデータを解析するにはどうすればよいですか?

どのように私はそれを解析します: { 'A': 1、 'B':{ 'C':2、 'D':3、 'E':4 }、 'F':{ 'G':5、 'h':6 } }

Django/Pythonの中に何か不足しているものがありますか?

TIA(Pythonの2.7に、Django 1.8使用)

+2

を試してみましたが?コードを投稿してください。 – wolendranh

+0

@wolendranh:simplejsonライブラリと通常のリクエストライブラリのすべてを試してみました。 PHPはこの種のデータを読み込むためのサポートを内蔵しています。 Pythonにも同様のことがあるかどうかを理解しようとしています。 – zankalp

+4

これを解析するのではなく、正しい形式で送信してから開始してください。このデータを送信しているのはなぜですか?また、標準のフォームエンコードデータまたはJSONを使用していないのはなぜですか? –

答えて

0

あなたはこれと似たような使用することができます:あなたはすでに何を

d = { 'a': 1, 'b[c]': 2, 'b[d]': 3, 'b[e]': 4, 'f[g]': 5, 'f[h]': 6 } 

def parse_post_dict(d): 
    new_d = {} 
    for key in d.iterkeys(): 
     if "[" in key and "]" in key: 
      key_split = key.split("[") 
      outer_key = key_split[0] 
      inner_key = key_split[1].replace("]", "") 

      if outer_key not in new_d: 
       new_d[outer_key] = {} 

      new_d[outer_key][inner_key] = d[key] 
     else: 
      new_d[key] = d[key] 

    return new_d 


print parse_post_dict(d) 
+0

ありがとうございましたが、私は[this](https://github.com/bernii/querystring-parser)のソリューションを使いました。 – zankalp

関連する問題