2017-12-02 4 views
0

はのは、私は以下のようにJSONファイルを持っているとしましょう:フラスコJSONレスポンス最後の要素

{ 
    "task": [ 
    { 
     "description": "Milk, Cheese, Pizza, Fruit, Tylenol", 
     "done": False, 
     "id": 1, 
     "title": "Buy groceries" 
    }, 
    { 
     "description": "Need to find a good Python tutorial on the web", 
     "done": False, 
     "id": 2, 
     "title": "Learn Python" 
    } 
    ] 
} 

私はJSONレスポンスの最後の要素にアクセスする方法を知っていただきたいと思います。私は、インクリメントするためのコードの下に試してみましたが、それはうまくいきませんでした:

id': request.json['task'][-1]['id'] + 1 
+0

希望する出力は何ですか? – Ajax1234

+0

私はコード内にidを自動的に挿入したいと思います。フロントエンドが何を返しても、毎回増加する必要があります。 – human

+0

'request.json ['task'] [ - 1] ['id'] + = 1'これは意味ですか? – Arman

答えて

1

を使用すると、両方のid秒を増やしたい場合は、あなたがこれを行うことができます:

d = { 
    "task": [ 
    { 
     "description": "Milk, Cheese, Pizza, Fruit, Tylenol", 
     "done": False, 
     "id": 1, 
     "title": "Buy groceries" 
    }, 
    { 
    "description": "Need to find a good Python tutorial on the web", 
    "done": False, 
    "id": 2, 
    "title": "Learn Python" 
    } 
] 
} 
new_d = {"task":[{a:b+1 if a == "id" else b for a, b in i.items()} for i in d['task']]} 

出力:

{'task': [{'id': 2, 'done': False, 'description': 'Milk, Cheese, Pizza, Fruit, Tylenol', 'title': 'Buy groceries'}, {'id': 3, 'done': False, 'description': 'Need to find a good Python tutorial on the web', 'title': 'Learn Python'}]} 

リスト内の最後の辞書に存在するidを増やしたい場合:

d['task'][-1]['id'] += 1 
+0

ありがとうございます。しかし問題は、実際のファイルがかなり大きいことです。それは単なる例でした。私の場合、私はjsonファイルを持っており、各要求はIDを増やす必要があります – human

関連する問題