Skip to main content
 首页 » 编程设计

python之jQuery : post with json will actually post array

2025年05月04日16mfrbuaa

我有一个 python 作为 CGI,jquery 的 POST 会将 json 对象转换为数组,所以当我看到 jquery 的 POST 时,我实际上看到了:

login_user[username]=dfdsfdsf&login_user[password]=dsfsdf 

([ 和 ] 已经转义)

我的问题是如何在 python 中将此字符串转换回 JSON?或者,如何将此字符串转换为 python 数组/字典结构,以便我可以更轻松地处理它?<​​/p>

[编辑] 我的 jquery 正在发布:

{'login_user': {'username':username, 'password':password}} 

请您参考如下方法:

如果你想完成的是从浏览器发送结构化数据,然后在你的 Python 后端解压它并保持相同的结构,我建议如下:

  1. 在浏览器中创建 JavaScript 对象来保存您的数据:

    var d = {}  
    d['login_user'] = { 'username': 'foo', 'password': 'bar' } 
    
  2. 序列化为 JSON,使用 https://github.com/douglascrockford/JSON-js
  3. POST 到你的后端做这样的事情:

    $.post(url, {'data': encoded_json_data}, ...)

  4. 在您的 Python 代码中,解析 JSON,在我的示例中,POST 是您在 CGI 脚本中获取 POST 数据的地方:

    data = json.loads(POST['data']) 
    data['login_user']