TypeError: Object of type Row is not JSON serializable

原来是我的视图函数里先获从数据库获取了很多row组成的list类型变量,该变量大致结果如下:

res: [('1', '配置信息'), ('2', '打开'), ('3', '下拉展示所有'), ('4', '点击')]

res变量虽然是list类型
但是,使用type(res[0])查看里面的每个元素类型,类型如下:

res: <class 'sqlalchemy.engine.row.Row'>

不是我所认为tuple类型
所以,这个row类型是无法序列化的。需要进行下处理:

 steps = []
        for (id, step) in res:
            step = {"No.": int(id), "stepName": step}
            steps.append(step)

steps是可以序列化的。放入返回数据结构的data部分是可以返回的。

报错内容:TypeError: Object of type Row is not JSON serializable原来是我的视图函数里先获从数据库获取了很多row组成的list类型变量,该变量大致结果如下:res: [('1', '配置信息'), ('2', '打开'), ('3', '下拉展示所有'), ('4', '点击')]res变量虽然是list类型但是,使用type(res[0])查看里面的每个元素类型,类型如下:res: &lt;class 'sqlalchemy.engin
解决Object of type “XXX” is not JSON serializable 解决办法 Object of type “XXX” is not JSON serializable 翻译是:无法正常序列化 XXX 对象。 这个问题是由于json.dumps()函数引起的 dumps是将dict(字典)数据类型转化为 str数据,但是dict数据中包含byte(字节)数据,所以会报错。 解决办法:就是遇到字节类型就转为字符串类型。 def change_type(byte): │ │ ├─enums.py 客户端类型标识 │ │ ├─error.py API错误返回类 │ │ ├─error_code.py 错误状态码类 │ │ ├─redprint.py 自定义红图 │ │ ├─scope.py 权限管理类 │ │ ├─token_auth.py Token验证 │ │ ├─ ... 更多类库目录 │ ├─models 框架应用模式目录 │ ├─v
pymssql本身在Linux系统上使用不会有乱码问题,由于内容需要在win上进行,python代码挂载到win10后出现查询数据乱码问题。 解决pymssql乱码: **方案一 **:pymssql.connect()参数多加一个charset=‘cp936’ conn = pymssql.connect(config.server, config.user, config.password, config.database, charset='cp936') 坑:我有张表的内容包含----名 这个问题是由于json.dumps()函数引起的。dumps是将dict数据转化为str数据,但是dict数据中包含byte、int、float、datetime等等的时候,数据所以会报错。 可能会遇到T...
这个错误是因为在导入Python json包,调用json.dump/dumps函数时,可能会遇到TypeError: Object of type xxx is not JSON serializable错误,也就是无法序列化某些对象格式。 解决办法: 点击进去json的包,然后在其中添加MyEncoder,把原来的JsonEncoder给替换掉。 因为我还需要定义时间的序列格式,所以我的MyEncoder可能比较万能,大家自己根据需要自己修改。 1.首先json包内定义类MyEncoder #我自己重新
json.dumps()是将python对象进行json格式的编码(转换成json字符串),很多类型的数据无法转换,所以就简单粗暴地在编码前全部转换成str类型就好了。 编写类来进行格式转换 import json import datetime import numpy as np class MyEncoder(json.JSONEncoder): def default(self, obj): #检查到是bytes类型的数据就转为str类型 if isins
app.route和app.add_url_ruleapp.add_url_rule 这个方法是用来添加url与视图函数的映射。如果没有填写endpoint那么会默认使用view_func的名字来作为endpoint。 因此在使用url_for的时候,就要看在映射的时候有没有传递endpoint参数,如果传递了,那么就使用endpoint指定的字符串。
适用于Python脚本执行的Python Flask网站 使用python中的Flask库,单击按钮即可创建网站并执行脚本。 如果您要使用python进行网站创建并在使用http链接的按钮单击上执行python代码,请使用此选项。 使用Flask使其登录管理器和sqlalchemy变得非常容易,您可以避免使用php和xampp在routes.py中创建自己的路由或链接并享受......。 这比Django容易得多,因为Django每次都会在views.py和url.py中进行很多更改 通过使用安装在requirements.txt中给出的依赖项 点安装-r requirements.txt 使用运行项目 python run.py 并打开链接
from flask import Flask from flask_json_schema import JsonSchema app = Flask ( __name__ ) schema = JsonSchema ( app ) 或通过工厂方法: schema = JsonSchema () app = Flask ( __name__ ) schema . init_app ( app ) from flask_json_schema import JsonSchema , JsonVali
flask-rabbitmq是一个框架,简化了python操作Rabbitmq的框架,可以与Flask很好地结合。 因此,您无需考虑基础操作 该项目已提交给Pypi,可通过pip安装: $ pip install flask-rabbitmq 开始关注Flask应用,无需考虑进程阻塞 通过config.py配置 支持通过装饰器或寄存器类声明队列 简单的例子 首先在app/__init__.py实例化RabbitMQ和Queue对象,然后导入demo模块: from example . app import app from flask_rabbitmq import
在使用flask进行开发的时候发现Decimal类型的数据无法在作为 JSON 通过相应消息体序列化返回,出现jsonschema.exceptions.ValidationError错误: jsonschema.exceptions.ValidationError: '1000.00' is not of type 'number' 研究flask_restful/representations/json.py代码发现问题出现在json.dump()中 def output_jso...
k8s安装遇到错误: failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kub 33403 k8s安装遇到错误: failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kub gerrit_jenkins: 还好看到这个评论 python 高阶函数 正经人谁写日记: ^这个符号在正则里面表示以什么开头,所以“^[A-Z][a-z]*”表示匹配以大写字母开头,后面若干小写字母的字符串。