Flask接口如何返回JSON格式数据自动解析

一 自定义一个response类

from flask import Response, jsonify
# 定义response返回类,自动解析json
class JSONResponse(Response):
  @classmethod
  def force_type(cls, response, environ=None):
    if isinstance(response, dict): # 判断返回类型是否是字典(JSON)
      response = jsonify(response) # 转换
    return super().force_type(response, environ)

二 主类注册app返回类

app = Flask(__name__)
app.debug = True # 开启debug
app.response_class = JSONResponse # 指定返回类,解析json
# 注册蓝图
app.register_blueprint(other, url_prefix='/other')
app.register_blueprint(user, url_prefix='/user')
app.register_blueprint(order, url_prefix='/order')

if __name__ == '__main__':
  app.run(port=8080) # 端口默认5000

三 测试

视图函数,返回元组(json),其他数据不影响:

@other.route('/json/')
def json():
  return {"name": "Sam"}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Flask 让jsonify返回的json串支持中文显示的方法

    用flask时遇到了返回字符串支持中文显示的问题,在web端显示的是utf-8的编码,而不是中文,如下图. 虽然不影响接口的读取,但是可读性太差,于是研究了一下怎么直接显示成中文.最后找到了解决方案如下,在配置中加入下面一行代码就OK了. app.config['JSON_AS_ASCII'] = False json.dumps()解决同样的问题可以加入ensure_ascii=False 参考资料: http://stackoverflow.com/questions/37531067/py

  • 解决flask接口返回的内容中文乱码的问题

    写一个简单的例子程序: # coding:utf-8 import flask from flask import json, jsonify, request, render_template app = flask.Flask(__name__) @app.route("/api", methods=["GET", "POST"]) def api(): if request.method == 'GET': return jsonify({

  • python flask解析json数据不完整的解决方法

    当使用Python的flask框架来开发网站后台,解析前端Post来的数据,通常都会使用request.form来获取前端传过来的数据,但是如果传过来的数据比较复杂,其中右array,而且array的元素不是单个的数字或者字符串的时候,就会出现解析不到数据的情况,比如使用下面的js代码向python flask传递数据 $.ajax({ "url":"/test", "method":"post", "data&qu

  • python 实现Flask中返回图片流给前端展示

    场景需求:需要在Flask服务器的本地找一张图片返回给前端展示出来. 问题疑点:通常前端的<img>标签只会接受url的形式来展示图片,没试过在返回服务器本地的一张图片给前端. 因此写个记录一下这个看起来有点奇葩的场景(通常个人博客,个人网站没有钱用第三方的服务都会采用存储在服务器本地的方法啦.) 项目目录: dyy_project | |----static (新建flask项目时自动建的,没有任何文件) |----templates |-----index.html (前端页面) |---

  • python和flask中返回JSON数据的方法

    在python中可以使用json将数据格式化为JSON格式: 1.将字典转换成JSON数据格式: s=['张三','年龄','姓名'] t={} t['data']=s return json.dumps(t,ensure_ascii=False) 2.将列表转换成JSON数据格式: s=['张三','年龄','姓名'] return json.dumps(s,ensure_ascii=False) 使用json转换的在前端显示的数据为JSON字符串. 使用flask的jsonify转换后,在前

  • 详谈在flask中使用jsonify和json.dumps的区别

    flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象,那么在flask的视图函数中return它们会有什么不同之处呢? 想必开始很多人和我一样搞不清楚,只知道既然框架提供了方法就用,肯定不会错. 但作为开发人员,我们需要弄清楚开发过程中各种实现方式的特点和区别,这样在我们面对不同的需求时才能做出相对合理的选择,而不是千篇一律地使用自己熟悉的.下面我就jsonify和json.dumps的区别这一问题简单探讨

  • flask框架json数据的拿取和返回操作示例

    本文实例讲述了flask框架json数据的拿取和返回操作.分享给大家供大家参考,具体如下: json数据结构:以套票票网站的城市数据为例,拿到数据莫慌, 1 先分析数据结构,有几个大的字段('returnCode'和'retuenValue'字段,只有一个字段作为定义,另一个字段作为保留(无需处理) 2 键表----> 拆分'returnValue'确定数据库表结构,('A'[]城市首字母表 和  城市具体信息字段{}表) 3 将拿到的数据拆分插入到数据库中 4 将数据库的数据以JSON 的形式

  • Flask接口如何返回JSON格式数据自动解析

    一 自定义一个response类 from flask import Response, jsonify # 定义response返回类,自动解析json class JSONResponse(Response): @classmethod def force_type(cls, response, environ=None): if isinstance(response, dict): # 判断返回类型是否是字典(JSON) response = jsonify(response) # 转换

  • django通过ajax发起请求返回JSON格式数据的方法

    本文实例讲述了django通过ajax发起请求返回JSON格式数据的方法.分享给大家供大家参考.具体实现方法如下: 这是后台处理的: def checkemail(request): user = None if request.POST.has_key('email'): useremail = request.POST['email'] result = {} user = User.objects.filter(useremail__iexact = useremail) if user:

  • 使用getJSON()异步请求服务器返回json格式数据的实现

    我们可以使用jquery的getJSON()方法请求服务器返回json格式数据: js代码: function test(){ $.getJSON("JsonServlet",function(result){ alert(result.name); }); } 服务器端servlet响应: @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletEx

  • ssm框架controller层返回json格式数据到页面的实现

    通常前端页面发送ajax请求,我们只需要返回json格式数据就行 1.在pom.xml加入依赖 <properties> <jackson.version>2.5.4</jackson.version> </properties> <dependencies> <!-- controller返回json --> <dependency> <groupId>com.fasterxml.jackson.core&l

  • springboot 返回json格式数据时间格式配置方式

    目录 返回json格式数据时间格式配置 返回JSON日期格式问题 返回json格式数据时间格式配置 数据库里面查出来的时间是时间错格式,前段需要处理才能展示相应的格式,自己一个个转的话太麻烦,所以可以在apllication.property加入下面配置就可以 #时间戳统一转换 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 其中time-zone是时区偏移设置,如果不指定的话时间和北京时

  • Spring mvc实现Restful返回json格式数据实例详解

    在本示例中,我们将向您展示如何将对象转换成json格式并通过spring mvc框架返回给用户. 使用技术及环境: Spring 3.2.2.RELEASE Jackson 1.9.10 JDK 1.6 Eclipse 3.6 Maven 3 PS:在spring 3 中,要输出json数据,只需要添加Jackson 库到你的classpath. 1.项目依赖 spring和jackson的依赖: <project xmlns="http://maven.apache.org/POM/4.

  • Struts2返回json格式数据代码实例

    最近由于工作原因,没时间更新,开始吧~~ 关于json的返回需要用到一个工具包来将书转换为json格式,在此用到的jar包为: import net.sf.json.JSONArray; //将数据转换为JSON数组  import net.sf.json.JSONObject; //将数据转换为JSON对象 dao层的代码 public class ProInfomaDao extends HibernateDaoSupport { private Logger logger = Logger

  • Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据

    一.AjaxJson.aspx 处理业务数据,产生JSon数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { string u = Request["UserName"]; string p = Request["Password"]; string output = string.Format("'UserName

  • springMVC返回复杂的json格式数据方法

    一.springMVC返回json格式数据常用的写法是使用@ResponseBody注解,在每一个方法前加上这个注解,springMVC的json解析机制会自动把返回值(Object类型的对象)转换为json格式的数据,如果返回的json对象比较复杂,每一个方法都要定义很多对象,会给开发带来很大的工作量,以下介绍一种方法,直接使用json对象设置数据并放回. 二.当遇到以下json格式数据是,如果差用@ResponseBody方式需要创建多个Java对象. { "total":2, &

  • 如何将ajax请求返回的Json格式数据循环输出成table形式

    首先,Ajax请求数据,(用的是Jquery的Ajax) 复制代码 代码如下: <script> $(function(){ $('#test').click(function(){ $.ajax({ url:'__APP__/Article/jsonTest', type:'post', success:function(data){ var item; $.each(data,function(i,result){ item = "<tr><td>&quo

随机推荐