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中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
python可视化爬虫界面之天气查询
Jul 03 Python
django将数组传递给前台模板的方法
Aug 06 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
Docker部署Python爬虫项目的方法步骤
Jan 19 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
pandas处理csv文件的方法步骤
Oct 16 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
js 多浏览器分别判断代码
2010/04/01 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
js数组的基本使用总结
2021/01/18 Javascript
Python中的迭代器漫谈
2015/02/03 Python
python+mysql实现教务管理系统
2019/02/20 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
宪法宣传周工作方案
2014/05/26 职场文书
留学生求职信
2014/06/03 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
喋血孤城观后感
2015/06/08 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL
python神经网络Xception模型
2022/05/06 Python