Вставьте строку JSON в таблицу

0

Я хочу вставить данные в таблицу mysql, используя json string array в postman. В одной базе данных есть две таблицы. один за вопрос, а другой - за ответ. Я хочу вставить вопрос и ответ в таблицы, используя почтовый запрос.

Здесь я пробовал код.

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"
        }
    ]
}

"вопрос" и "ответ" - это столбцы в разных таблицах.

Теги:
flask
postman

1 ответ

0
Лучший ответ
question = request.json['data'][0]['question']

буду работать.

  • 0
    Он вставляет только «как дела», «добро пожаловать». Как вставить все строки?
  • 0
    Вам нужно будет перебрать данные, так как мое предложение получит только первый вопрос в массиве. Исследуйте информацию в этой области - вам нужно, по крайней мере, сделать некоторый уровень работы на вашей стороне, чтобы найти решение, которое работает.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню