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 流程控制实例代码
Sep 25 Python
Python引用(import)文件夹下的py文件的方法
Aug 26 Python
详解Python的迭代器、生成器以及相关的itertools包
Apr 02 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
对Pyhon实现静态变量全局变量的方法详解
Jan 11 Python
简单了解python反射机制的一些知识
Jul 13 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
Python类继承和多态原理解析
Feb 05 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
python urllib库的使用详解
Apr 13 Python
pytorch 两个GPU同时训练的解决方案
Jun 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漏洞全解(详细介绍)
2012/11/13 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
python图像和办公文档处理总结
2019/05/28 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
what is the difference between ext2 and ext3
2015/08/25 面试题
建筑经济管理专业求职信分享
2014/01/06 职场文书
安全事故检讨书
2014/01/18 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
师范生见习报告
2014/10/31 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
Python中for后接else的语法使用
2021/05/18 Python
MySQL 视图(View)原理解析
2021/05/19 MySQL
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
vue使用echarts实现折线图
2022/03/21 Vue.js