python flask解析json数据不完整的解决方法
作者:钟摆人 发布时间:2021-07-12 01:45:00
标签:flask,解析,json
当使用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数据啦!
来源:http://www.cnblogs.com/zhongbr/p/python_flask.html
0
投稿
猜你喜欢
- 1.window.event兼容脚本 2.屏蔽Form提交事件 3.获取事件源 4.添加事件兼容写法 5.Firefox注册innerTex
- 当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。FTP 服务器,在此之前我都是使用Linux的vsftpd软件包来搭建
- 本文实例介绍了实现js选项卡切换效果的详细代码,分享给大家供大家参考,具体内容如下思路: 1、获取元素;
- 使用JdbcTemplate的步骤1、设置spring-jdbc和spring-tx的坐标(也就是导入依赖) <depen
- 在使用完模型之后,添加这两行代码即可清空之前model占用的内存:import tensorflow as tffrom keras imp
- 这些帖子将分为三个部分。1.密码验证功能2.重构密码验证函数3.对密码验证功能进行单元测试这是Python系列中自定义密码验证的第三部分,也
- 使用pyttsx的python包,你可以将文本转换为语音。安装命令pip install pyttsx3 -i https://pypi.t
- 默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为: ErrorLog ErrorLog.1 ErrorLog.2
- 请问如何用OleDbDataAdapter来对数据库进行删除、修改和添加?OleDbDataAdapter是DataSet和数据源之间建立联
- 本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)
- function test(){ return 123; } 显然这是一个函数声明,那下面的呢 var b=f
- 引言通过前面的文章我们已经了解到OpenCV 是一个用于计算机视觉和机器学习的开源 python 库。它主要针对实时计算机视觉和图像处理。它
- 动态加载JavaScript文件和CSS资源为Web前端开发提供了巨大的灵活性,同时也实现了lazy load和按需加载,相比XMLHttp
- PHP crc32() 函数实例输出 crc32() 的结果:<?php $str = crc32("Hello World
- 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在
- Detecting When The User Has Clicked Cancel One of the things you may w
- 需求:需要实现一个用户反馈的接口,用户通过接口提交:1.一段文字2. 一个log文件3. 多个图片找了很多ModelForm,DRF-Ser
- 引入numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢? num
- 从今天开始起,基督山将和大家一起进入ASP.net 诸多程序的学习中,老实说,.net到底是法宝还是垃圾,我们拭目以待。有任何问题,联络基督
- 这些对文本的操作经常用到, 那我就总结一下。 陆续补充。。。操作:strip_html(cls, text) 去除html标签separat