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 相关文章推荐
wxpython中自定义事件的实现与使用方法分析
Jul 21 Python
python 读写txt文件 json文件的实现方法
Oct 22 Python
python中logging包的使用总结
Feb 28 Python
mac 安装python网络请求包requests方法
Jun 13 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
Jun 27 Python
python计算n的阶乘的方法代码
Oct 25 Python
python的等深分箱实例
Nov 22 Python
Python函数参数类型及排序原理总结
Dec 19 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
Jun 01 Python
python如何实时获取tcpdump输出
Sep 16 Python
Python+OpenCV图像处理——实现轮廓发现
Oct 23 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的bbs设计(三)
2006/10/09 PHP
PHP版自动生成文章摘要
2008/07/23 PHP
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
深入理解Promise.all
2018/08/08 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
深入讲解Java编程中类的生命周期
2016/02/05 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
Python中生成ndarray实例讲解
2021/02/22 Python
2013年高中生自我评价
2013/10/23 职场文书
党课培训主持词
2014/04/01 职场文书
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python