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基础之I/O模型
May 11 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 Python
Python Requests模拟登录实现图书馆座位自动预约
Apr 27 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
python实现多进程通信实例分析
Sep 01 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
Python序列化pickle模块使用详解
Mar 05 Python
Python3爬虫中Ajax的用法
Jul 10 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
利用Python+OpenCV三步去除水印
May 28 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
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
php实现异步数据调用的方法
2015/12/24 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
python创建线程示例
2014/05/06 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
使用Python写一个小游戏
2018/04/02 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
pywinauto自动化操作记事本
2019/08/26 Python
Django之模板层的实现代码
2019/09/09 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
大学毕业生通用自我评价
2014/01/05 职场文书
卖车协议书范例
2014/09/16 职场文书
北京英文导游词
2015/02/12 职场文书
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers