Я читаю файл из внешнего интерфейса и преобразую его в JSON, состоит из uuid и списка объектов JSON:
class File(Resource):
def post(self):
if 'file' not in request.files:
return {"message": "No File in the request!"}, 400
file = request.files['file']
if file.filename == '':
return {'message': "No File selected!"}, 400
if file:
filename = secure_filename(file.filename)
#file_contents = file.read()
print(file)
converted_json = File.csv2json(file)
new_request = {
'uuid': str(uuid.uuid4()),
'devices': converted_json
}
print(new_request)
return new_request, 201
@classmethod
def csv_to_json(cls, data):
df = pd.read_csv(data, header=None)
df.columns = ['name', 'username', 'password', 'domain']
print(df)
df = df.to_json(orient='records')
print(df)
return df
Вывод имеет двойное кодирование: {"uuid": "1a09ad79-dc78-4759-9aa0-f1dda9c08dc4 "," details ":" [{\ "name \": \ "joe \", \ "username \": \ "admin \", \ "password \": \ "admin \", \ "domain \": \ "abc.xyz.com \"}] "}
Как получить вывод объекта JSON, например (с символом новой строки в конце каждого символа ','):
{
"uuid": "1a09ad79-dc78-4759-9aa0-f1dda9c08dc4",
"details": [
{"name": "joe",
"username": "admin",
"password": "admin",
"domain"" "abc.xyz.com"}
]
}