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获取糗百图片代码实例
Dec 18 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
搞笑的程序猿:看看你是哪种Python程序员
Jun 12 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
Django实现跨域的2种方法
Jul 31 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 Python
基于python图像处理API的使用示例
Apr 03 Python
opencv-python的RGB与BGR互转方式
Jun 02 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
Django+Django-Celery+Celery的整合实战
Jan 20 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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
Python Sleep休眠函数使用简单实例
2015/02/02 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
python 实现两个线程交替执行
2020/05/02 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
组织鉴定材料
2014/06/02 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
员工家属慰问信
2015/03/24 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
分享7个 Python 实战项目练习
2022/03/03 Python