꼰대코더 2024. 4. 30. 14:12

 

json.dumps vs json.jsonify

 return json.dumps({"language" : "python"})  return jsonify({"language" : "python"})
자동으로 header 의 Content-Type  을 text/html; charset=utf-8 로 설정
※ 수동으로 header 를 변경해 줘야 함.
자동으로 header 의 Content-Type  을 application/json 로 설정

 

json.jsonify 와 함께 스테터스 코드로 함께 리턴

 return jsonify({"language" : "python"}), 204

 

리턴하는 한글(비영어) 깨짐 해결

 app.config["JSON_AS_ASCII"] = False

 

frontend로부터의 json 데이터 받기 (data = python's dict)

 data = request.data.decode('utf-8')
 data = json.loads(data)
          or
 data = request.get_json()

 

JSON  string -> python dict

 x =  '{ "name":"John", "age":30, "city":"New York"}'
 y = json.loads(x)

 print(y['age'])

 

python dict -> JSON string

 x =  { "name":"John", "age":30, "city":"New York"}
 y = json.dumps(x)

 print(y) # = '{ "name":"John", "age":30, "city":"New York"}'