郵便配達員のjson文字列配列を使用してmysqlテーブルにデータを挿入したいとします。 1つのデータベースに2つのテーブルがあります。 1つは質問のためであり、もう1つは答えのためのものです。ポストリクエストを使用して質問と回答を表に挿入したいテーブルにjson文字列を挿入
ここで私はコードを試しました。
app = Flask(__name__)
api = Api(app)
class train(Resource):
def post(self):
account_id = request.json['account_id']
question = request.json['question']
answer = request.json['answer']
question_id = request.json['question_id']
conn = db_connect.connect()
query =conn.execute ("INSERT INTO ai_question (account_id,question)
VALUES (%s, %s)", (account_id, question))
query1 =conn.execute ("INSERT INTO ai_answer (question_id, answer)
VALUES (%s,%s)", (question_id, answer))
result1 = {'data': [dict(zip(tuple (query.keys()) ,i)) for i in
query.cursor]}
result2 = {'data': [dict(zip(tuple (query1.keys()) ,i)) for i in
query1.cursor]}
return jsonify(result1, result2)
api.add_resource(trainings, '/trainings')
api.add_resource(ask, '/ask')
api.add_resource(train, '/train')
if __name__ == '__main__':
app.run('0.0.0.0',5000)
郵便配達員の下にjson stringを書き込むことによってテーブルにデータを挿入します。
{
"question":"abc",
"answer":"xyz",
"question_id":"1",
"account_id":"1"
}
が、私は郵便配達を使用して、このようにデータを挿入する:
{
"account_id":"11",
"data": [
{
"question":"how are you?",
"answer":"I am good how about you?"
},
{
"question":"thank you",
"answer":"welcome"
}
]
}
「質問」と「答え」は異なる表の列です。
まずデータ配列にアクセスしようとしましたか?最初の値を得るには 'data [0] .question'のようなことをする必要があると確信しています。 –
親愛なるダニー、私はあなたにこれを初めて知っていることを申し訳なく思っています。私はどのように 'data [0] .question'を使うべきかわかりません。私を案内してもらえますか?前もって感謝します。 – Pooa
私はフラスコやPythonを巨大な方法では知りませんが、私が見ることができるものから[ここ](http://flask.pocoo.org/docs/0.12/api/#response-objects) - 'question = request.json ['question'] 'は、あなたの例で' data'配列の値を受け取ることができません。私はおそらく間違っていますが、 'question = request.json ['data'] [0] ['question']'は最初の値を取り上げるかもしれません。これは基本的な[チュートリアル](https://www.w3schools.com/js/js_json_arrays.asp)ですが、JSONのデータにアクセスする方法を理解するのに役立ちます。 –