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实现从web抓取文档的方法
Sep 26 Python
Python引用模块和查找模块路径
Mar 17 Python
Python图片裁剪实例代码(如头像裁剪)
Jun 21 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
Python之循环结构
Jan 15 Python
python实现随机漫步方法和原理
Jun 10 Python
详解python实现交叉验证法与留出法
Jul 11 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
解决os.path.isdir() 判断文件夹却返回false的问题
Nov 29 Python
python标准库OS模块详解
Mar 10 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
pycharm进入时每次都是insert模式的解决方式
Feb 05 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与数据库代码开发规范
2013/08/08 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
JavaScript 对象模型 执行模型
2009/12/06 Javascript
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
分页栏的web标准实现
2011/11/01 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
Saltstack快速入门简单汇总
2016/03/01 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
基于python socketserver框架全面解析
2017/09/21 Python
python针对excel的操作技巧
2018/03/13 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
python初步实现word2vec操作
2020/06/09 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
Python-split()函数实例用法讲解
2020/12/18 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
怎样写好自荐信和推荐信
2013/12/26 职场文书
手工社团活动方案
2014/02/17 职场文书
中学生检讨书1000字
2014/10/28 职场文书
社团招新宣传语
2015/07/13 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript