Pandas中的DataFrame轉換爲Flask可以輸出的json對象

背景

Pandas中的DataFrame對象可以使用內置的.to_json()方法轉換爲json格式的字符串,但是如果直接將這個字符串通過Flask返回給瀏覽器的話,看到的只是個字符串,並不是json對象.

@bp.route('/detail')
def get_detail():
    # 省略df的創建過程
    jdata = df.to_json(orient='records', force_ascii=False)
    return jdata

在這裏插入圖片描述

實驗

使用Flask中的jsonify()df.to_json()轉換的json字符串進行處理後返回瀏覽器變成json對象了,但是格式不正確,還是個字符串.

@bp.route('/detail')
def get_detail():
    # 省略df的創建過程
    jdata = df.to_json(orient='records', force_ascii=False)
    return jsonify(jdata)

在這裏插入圖片描述

解決方法

使用Python內置json庫的json.loads()方法先將df.to_json轉換的字符串加載爲Python內置的json對象,然後再使用Flask的jsonify進行返回

@bp.route('/detail')
def get_detail():
    # 省略df的創建過程
    jdata = df.to_json(orient='records', force_ascii=False)
    return jsonify(json.loads(jdata))

在這裏插入圖片描述

發佈了203 篇原創文章 · 獲贊 92 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章