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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
在Python的Django框架上部署ORM库的教程
Apr 20 Python
Python设计模式编程中解释器模式的简单程序示例分享
Mar 02 Python
pandas apply 函数 实现多进程的示例讲解
Apr 20 Python
python爬取哈尔滨天气信息
Jul 14 Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
深入了解Django中间件及其方法
Jul 26 Python
Python urlopen()和urlretrieve()用法解析
Jan 07 Python
keras CNN卷积核可视化,热度图教程
Jun 22 Python
python实现视频压缩功能
Dec 18 Python
python基于pexpect库自动获取日志信息
Feb 01 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
PHP基础学习小结
2011/04/17 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
requireJS使用指南
2016/04/27 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
jQuery表单验证之密码确认
2017/05/22 jQuery
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
python实现的重启关机程序实例
2014/08/21 Python
Python中的生成器和yield详细介绍
2015/01/09 Python
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
升职自荐信
2013/11/28 职场文书
金融专业个人求职信范文
2013/11/28 职场文书
平安建设实施方案
2014/03/19 职场文书
难忘的一天教学反思
2014/04/30 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
邀请函样本
2015/02/02 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏
全网非常详细的pytest配置文件
2022/07/15 Python