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编写一个基于终端的实现翻译的脚本
Apr 24 Python
Python sys.argv用法实例
May 28 Python
Python读取图片属性信息的实现方法
Sep 11 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
python中scikit-learn机器代码实例
Aug 05 Python
python多进程使用及线程池的使用方法代码详解
Oct 24 Python
python基础 range的用法解析
Aug 23 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
Mar 14 Python
selenium+python配置chrome浏览器的选项的实现
Mar 18 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
PHP Mysql编程之高级技巧
2008/08/27 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
php精度计算的问题解析
2019/06/21 PHP
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
python检测远程端口是否打开的方法
2015/03/14 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
shallow copy和deep copy的区别
2016/05/09 面试题
成人继续教育实施方案
2014/03/01 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
教书育人演讲稿
2014/09/11 职场文书
先进工作者推荐材料
2014/12/23 职场文书
python OpenCV学习笔记
2021/03/31 Python
JS 基本概念详细介绍
2021/10/16 Javascript
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
python前后端自定义分页器
2022/04/13 Python
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android