Создайте файл JSON через Flask REST API - PullRequest
0 голосов
/ 05 августа 2020

Я хочу создать файл JSON с запрошенным именем проекта, именем клиента, клиентским адресом и параметрами описания проекта внутри созданной мной папки идентификаторов.

Я новичок в Python и не знаю, как сделать это. Я много пытался искать, но ничего не нашел. Все работает хорошо до json .dump, т.е. 8-й последней строки

import os
import numpy as np
from flask import Flask,jsonify,request
import json

PROJECTS_DIR_NAME       = "Projects"
ID_DIR_NAME = 'ID_variable.npy'
SCRIPT_PATH = os.path.dirname(__file__)
PR_DIR          = os.path.join(SCRIPT_PATH,PROJECTS_DIR_NAME)
ID_DIR = os.path.join(PR_DIR,ID_DIR_NAME)

app = Flask(__name__)

@app.route('/initiate',methods =['POST'])
def initiate():
    path = PR_DIR
    f= ID_DIR
    try:
        ID_variable = np.load(ID_DIR)
        ID_variable = int(ID_variable)
        ID_variable =ID_variable+ 1
        np.save(f,ID_variable)
    except FileNotFoundError:
        np.save(f, 1)
        ID_variable=1
        
        
    os.chdir(PR_DIR)
    NewProjectID= 'ID'+ str(ID_variable)
    os.makedirs(NewProjectID)
    path2= path+'\\'+NewProjectID
    os.chdir(path2)
    projectname = request.args.get('projectname')
    customername = request.args.get('customername')
    customeraddress = request.args.get('customeraddress')
    projectdescription = request.args.get('projectdescription')
    json.dump({"Project Name": projectname} {"Customer Name": customername} {"Customer Address": customeraddress} {"Project Description" : projectdescription},path2)
    return jsonify({'ID': ID_variable})



if __name__ == '__main__':
    app.run(debug=True)

1 Ответ

1 голос
/ 05 августа 2020

Код записывает некорректно json, и вам нужен указатель файла для json.dump

json у вас есть список jsons.

with open("your_file_name.json", "w") as f:
    json.dump([{"Project Name": projectname}, {"Customer Name": customername},{"Customer Address": customeraddress},{"Project Description" : projectdescription}],f)
...