1. 程式人生 > >python如何將資料儲存到本地json檔案

python如何將資料儲存到本地json檔案

之前做了dict字典的合併,這一篇會將dict資料轉換成json格式的資料儲存在本地,並在需要的時候讀取顯示。將資料儲存成.json檔案:
@app.route('/', methods=['GET', 'POST'])
def detail():
    one = {'name': 'xiaozhi', 'age': 188}
    mess1 = ['sss is  sss', 'aaa  aa aaaa']
    two = {"mess1": mess1}
    data = dict(one, **two)
    jsonData = json.dumps(data)
    fileObject = open('data.json', 'w')
    fileObject.write(jsonData)
    fileObject.close()
    return jsonify({"success": 200, "data": data})
在瀏覽器輸入URL後,json檔案在本地建立,開啟我們可以看到資料已經成功儲存:
讀取本地.json檔案並解析顯示:
如圖,我們做一個點選事件,點選按鈕讀取.json檔案,並將資訊顯示到對應的位置上路由程式碼:
@app.route('/history', methods=['GET', 'POST'])
def history():
    data = json.loads(request.form.get('data'))
    number = data['number']
    print(number)
    if number == '01':
        file = 'data.json'
        fb = open(file, 'r')
        dicts = json.load(fb)
        fb.close()
        myjson = json.dumps(dicts)
        return myjson
    return 'no history'
前臺頁面展示互動展示程式碼:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <script src="{{ url_for('static', filename='js/jquery-1.7.1.min.js') }}"></script>
</head>
<body>
    <input type="button" value="show log" onclick="show()"/>
    <input type="hidden" id="number" value="01"><br>
    使用者:<a id="user"></a><br>
    年齡:<a id="age"></a><br>
    資訊:<a id="p0"></a><br>
    <a id="p1"></a>
</body>
<script>
     function show(){
        var number= document.getElementById("number").value;
        var data= {
                data: JSON.stringify({
                    'number': number
                }),
            }
        $.ajax({
            url:"{{ url_for('history') }}",
            type:"post",
            data:data,
            dataType: 'json',
            success:function(data){
                $(user).text(data.name);
                 $(age).text(data.age);
                 for(var i=0;i<data.mess1.length;i++){
                    $("#p"+i).text(data.mess1[i]);
                }
            },
            error:function(e){
                    alert("error");
            }
        })
    }
</script>
</html>
以上就可以簡單的實現儲存並讀取本地json檔案。