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+Django在windows下的开发环境配置图解
Nov 11 Python
Python多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
Python作用域用法实例详解
Mar 15 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
Python 列表的清空方式
Jan 13 Python
Python基于numpy模块实现回归预测
May 14 Python
浅析python连接数据库的重要事项
Feb 22 Python
pd.drop_duplicates删除重复行的方法实现
Jun 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
如何使用Strace调试工具
2013/06/03 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
javascript中clone对象详解
2014/12/03 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
盘点提高 Python 代码效率的方法
2014/07/03 Python
python中的格式化输出用法总结
2016/07/28 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
jupyter 导入csv文件方式
2020/04/21 Python
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
保证书格式范文
2014/04/28 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2014年减负工作总结
2014/12/10 职场文书
校友回访母校寄语
2015/02/26 职场文书
活着观后感
2015/06/03 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
六年级作文之预言作文
2019/10/25 职场文书