Nie jestem pewien, czy rozumiem cel flask.jsonify
metody. Próbuję utworzyć ciąg JSON z tego:
data = {"id": str(album.id), "title": album.title}
ale to, co otrzymuję, json.dumps
różni się od tego, co otrzymuję flask.jsonify
.
json.dumps(data): [{"id": "4ea856fd6506ae0db42702dd", "title": "Business"}]
flask.jsonify(data): {"id":…, "title":…}
Oczywiście muszę uzyskać wynik, który bardziej przypomina json.dumps
zwrot. Co ja robię źle?
jsonify()
obsługuje teraz listy. Zobacz to zatwierdzenie .Możesz to zrobić:
lub
źródło
To jest
flask.jsonify()
json
Moduł używany jest albosimplejson
czyjson
w tej kolejności.current_app
jest odniesieniem doFlask()
obiektu, tj. Twojej aplikacji.response_class()
jest odniesieniem doResponse()
klasy.źródło
Wybór jednego lub drugiego zależy od tego, co zamierzasz zrobić. Z tego co rozumiem:
jsonify byłby przydatny, gdy budujesz API, ktoś zapytałby i oczekiwałby json w zamian. Np .: Interfejs API github REST mógłby użyć tej metody do odpowiedzi na twoje żądanie.
zrzuca , chodzi bardziej o formowanie obiektu danych / python w json i pracę nad nim w aplikacji. Na przykład muszę przekazać obiekt do mojej warstwy reprezentacji, w której jakiś skrypt JavaScript wyświetli wykres. Będziesz karmić javascript Jsonem generowanym przez zrzuty.
źródło
rozważać
teraz
przyniesie {'fld': 'hello'} i
daje
źródło