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删除指定目录下过期文件的2个脚本分享
Apr 10 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
设计模式中的原型模式在Python程序中的应用示例
Mar 02 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
Jan 07 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
asyncio异步编程之Task对象详解
Mar 13 Python
Python安装使用Scrapy框架
Apr 12 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
网上抓的一个特效
2007/05/11 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
详解如何用babel转换es6的class语法
2018/04/03 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
在django中自定义字段Field详解
2019/12/03 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
毕业生自荐书
2013/12/18 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
优秀员工推荐材料
2014/12/20 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
新娘婚礼致辞
2015/07/27 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android
GPU服务器的多用户配置方法
2022/07/07 Servers