首页 > 解决方案 > 在 python 中读取或写入 json 时遇到问题

问题描述

我通过 .ajax 将字符串从 .js 文件发送到 .py 文件。我最终得到一个空的 json 对象。

.js

var articleUrl = JSON.stringify(request);
console.log(articleUrl);
$.ajax({
    type: 'POST',
    url: `${url}/buttoncolor`,
    data:{articleUrl: articleUrl},
    success: function myFunction(data) {
    console.log("just sent the url to buttoncolor");
    }

.js 控制台

(这是正确的字符串)

console.log(articleUrl): {"url":"https://l.facebook.com/l.php?u=https%3A%2F%2Finterc.pt%2F2YOBCaS%3Ffbclid%3DIwAR0CWvO0cAJOtnidnLYVuOLS1MipypOvSzscOH5i_04ZVsg6Fi49zxbz2M0&h=AT2QuFdHIL4e48CL6qV5oV8N-94ZoUeWyaMK4uSfnUBMSahMYC2cdf4yLripNlRrT_D2Qgcy9JuuV3FEBm_scXPHsz9U50UUy2ESngmKwHvqRYcRs3obkUGXLzWmbAiDveN4CU4f7usi47HqRd4PtPDlfJH-St6kbVna4mlifIA"}

应用程序.py

@application.route('/buttoncolor', methods=['GET', 'POST'])
def buttoncolor():
    import json
    if request.method == 'POST':
        if not request.form['articleUrl']:
            flash('Please enter the url field', 'error')
        else:
            rurl_length = len(rurl)
            print("rurl_length:", rurl_length)
            print(rurl)

.py 控制台

print(rurl): {}
print("rurl_length:", rurl_length): rurl_length: 2

我尝试在 python 解码 json 中添加各种东西,但都收到错误消息(KeyError:'articleUrl'):

        y = json.loads(rurl)
        print(y["articleUrl"])

        decoded_hand = json.loads(rurl)
        print("decoded_hand", decoded_hand)

        json_data = """ {
            "articleUrl": "articleUrl"
            }
        }"""
        my_dict = json.loads(json_data)
        print("list values: %s" % my_dict["list"])

标签: javascriptpythonjsonajax

解决方案


推荐阅读