python flask解析json数据不完整的解决方法


Posted in Python onMay 26, 2019

当使用Python的flask框架来开发网站后台,解析前端Post来的数据,通常都会使用request.form来获取前端传过来的数据,但是如果传过来的数据比较复杂,其中右array,而且array的元素不是单个的数字或者字符串的时候,就会出现解析不到数据的情况,比如使用下面的js代码向python flask传递数据

$.ajax({
"url":"/test",

"method":"post",

"data":{



"test":[




{"test_dict":"1"},




{"test_dict":"2"},




{"test_dict":"3"},




]



}

}
)

当我们使用flask的request.form获取前端的数据时,发现获取到的数据是这样的:

ImmutableMultiDict([('test', 'test_dict'), ('test', 'test_dict'), ('test', 'test_dict')])

???我的Post数据呢?给我post到哪里去了???

这里我就去网上查解决办法,但是网上哪些删么使用reqeust.form.getlist()方法好像都对我无效,但是又找不到其他的解决方案?怎么办?

规范一下自己的请求,在前端请求的时候设置一个Json的请求头,在flask框架钟直接使用json.loads()方法解析reqeust.get_data(as_text=True),就可以解析到完整的post参数了!

前端:

$.ajax({
"url":"/test",

"method":"post",

"headers":{"Content-Type": "application/json;charset=utf-8"},//这一句很重要!!!

"data":{


"test":[




{"test_dict":"1"},




{"test_dict":"2"},




{"test_dict":"3"},



]


}

}

)

python代码:

@app.route("/test",methods=["GET","POST"])
def test():
  print(json.loads(request.get_data(as_text=True)))
  return ""

然后看看后台打印的信息:

* Serving Flask app "test_flask.py"
* Environment: development
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
{'test': [{'test_dict': '1'}, {'test_dict': '2'}, {'test_dict': '3'}]}
127.0.0.1 - - [25/May/2019 22:43:08] "POST /test HTTP/1.1" 200 -

问题解决,可以解析到完整的json数据啦!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过Python爬虫代理IP快速增加博客阅读量
Dec 14 Python
详解python的webrtc库实现语音端点检测
May 31 Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 Python
Python将json文件写入ES数据库的方法
Apr 10 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
python 星号(*)的多种用途
Sep 21 Python
python两个list[]相加的实现方法
Sep 23 Python
Python第三方库安装缓慢的解决方法
Feb 06 Python
Python使用random模块实现掷骰子游戏的示例代码
Apr 29 Python
Python 内置函数速查表一览
Jun 02 Python
如何使用pyinstaller打包32位的exe程序
May 26 #Python
让你Python到很爽的加速递归函数的装饰器
May 26 #Python
Django框架模板的使用方法示例
May 25 #Python
Django框架搭建的简易图书信息网站案例
May 25 #Python
Django框架实现的分页demo示例
May 25 #Python
Flask框架工厂函数用法实例分析
May 25 #Python
Python中Numpy mat的使用详解
May 24 #Python
You might like
缅甸的咖啡简史
2021/03/04 咖啡文化
PHP4中session登录页面的应用
2008/07/25 PHP
php设计模式小结
2013/02/15 PHP
php常见的魔术方法详解
2014/12/25 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
ie focus bug 解决方法
2009/09/03 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
pytorch进行上采样的种类实例
2020/02/18 Python
Python 如何在字符串中插入变量
2020/08/01 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
中学生教师节演讲稿
2014/09/03 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
影视后期实训报告
2014/11/05 职场文书
财务管理制度范本
2015/08/04 职场文书
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers