1.起因

在做一个自动打卡的玩意。登录会得到那个平台一系列的信息。我又不想专门修改、增加数据库字段来存放,所有打算直接将返回的JSON数据保存到一个MySQL字段中。

内容肯定不能直接放,考虑下比如数据注入的问题,对吧,容易出问题,所有我是打算将JSON数据转为base64编码的格式。

先写一个专门的编码工具函数

def Base64_encode(s):
res = str(base64.b64encode(s.encode("utf-8"))).replace("b'","")[:-1]
return res

str(base64.b64encode(s.encode("utf-8"))) 得到的是b'xxx'的文本,我不想要b'和后面的',所有要替换到,然后数据库操作的话如下:

    try:
cur, db = db_connect()
except:
return {"code": 33060, "msg": "连接数据库失败", "data": {}}
try:
sql = "update t_info set `token`='%s',`uid`='%s',`planids`='%s',`moguNo`='%s' where `gaccount`='%s'"%(Base64_encode(json.dumps(user_token)),user_id,Base64_encode(json.dumps(plan_ids)) ,moguNo,tel)
print("\n",sql,"\n")
result = cur.execute(sql)
except Exception as e:
print(e)
return {"code":-1,"msg":"发生了错误"}

注意长度问题噢!varchar(255)容易装不下,所有太长了用text类型来装。

然后就是解码

def Base64_decode(s):
return base64.b64decode(s).decode("utf-8")

总结一下:

def Base64_encode(s):
res = str(base64.b64encode(s.encode("utf-8"))).replace("b'","")[:-1]
return res def Base64_decode(s):
return base64.b64decode(s).decode("utf-8")

【Python】【MySQL】Python将JSON数据以文本形式存放到MySQL的Text类型字段中的更多相关文章

  1. python中级---->pymongo存储json数据

    这里面我们介绍一下python中操作mangodb的第三方库pymongo的使用,以及简单的使用requests库作爬虫.人情冷暖正如花开花谢,不如将这种现象,想成一种必然的季节. pymongo的安 ...

  2. python#读csv,excel,json数据

    #读csv,excel,json数据 with open('E:\\test\\xdd.csv','r') as f: for line in f.readlines(): print(line) i ...

  3. Dapper操作MySQL数据库获取JSON数据中文乱码

    前言 在项目中利用Dapper将JSON数据存储到MySQL数据库,结果发现JSON数据中的中文乱码,特此记录,希望对存储JSON的童鞋能有所帮助,文中若有错误之处,还望批评指正. Dapper获取J ...

  4. JavaBean和json数据之间的转换(二)含有date类型的JavaBean

    1.前言 上次讲了简单的JavaBean和json格式之间的转换,代码很简单,但是实际过程中,往往用到的JavaBean都是比较复杂的,其他的字段还好,如果JavaBean中包含了date类型的字段, ...

  5. 【MySQL】使用Length和Cast函数计算TEXT类型字段的长度

    背景: 前段时间,业务需要,为了快速让解析的Excel入库,所以把不是很确定的字段全部设置成了TEXT. 今天需要进行表结构优化,把字段长度控制在合适的范围,并尽量不使用TEXT类型. -- 计算长度 ...

  6. 往MySQL数据库datetime类型字段中插入数据库的当前时间

    代码: StringBuilder sb = new StringBuilder(); sb.append(" insert into uosdetailfile ("); sb. ...

  7. python 读取单所有json数据写入mongodb(单个)

    <--------------主函数-------------------> from pymongo import MongoClientfrom bson.objectid impor ...

  8. AFNetworking 2.0 获取json数据时,返回 NSLocalizedDescription=Request failed: unacceptable content-type: text/html, 解决方法.

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSe ...

  9. python爬虫——建立IP池,将可用IP存放到redis

    直接上代码,每行代码后面都有注释 import urllib.request import urllib import re import time import random import sock ...

  10. 动态的把固定格式的json数据以菜单形式插入

    var root=$("#side-menu"); $(menuData).each(function(i,n){ var top1Li=$("<li>< ...

随机推荐

  1. 2022年12月中国数据库排行榜:OceanBase立足创新登榜首,华为腾讯排名上升树雄心

    不经一番寒彻骨,怎得梅花扑鼻香. 2022年12月的 墨天轮中国数据库流行度排行榜 火热出炉,本月共有249个数据库参与排名,相比上月新增3个数据库.本月排行榜前十用一句话可以概括为:榜单前十一片红, ...

  2. .Net 中 LINQ 基础

    LINQ 基本概念: 语句集成查询,(Language - Integrated Query) 常见用途: .Net 原生集合(List,Array,Dictonary,etc) SQL数据库(尤其是 ...

  3. 001 (Python+水论文合集)为什么录这个合集,这个合集会讲哪些内容?

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  4. 2.flask 源码解析:应用启动流程

    目录 一.flask 源码解析:应用启动流程 1.1 WSGI 1.2 启动流程 Flask 源码分析完整教程目录:https://www.cnblogs.com/nickchen121/p/1476 ...

  5. 探索 Kubernetes 持久化存储之 Longhorn 初窥门径

    作者:运维有术星主 在 Kubernetes 生态系统中,持久化存储扮演着至关重要的角色,它是支撑业务应用稳定运行的基石.对于那些选择自建 Kubernetes 集群的运维架构师而言,选择合适的后端持 ...

  6. Java开发23种设计模式(转)

    [转载]https://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html 设计模式(Design Patterns) --可复用面 ...

  7. 重构案例:将纯HTML/JS项目迁移到Webpack

    我们已经了解了许多关于 Webpack 的知识,但要完全熟练掌握它并非易事.一个很好的学习方法是通过实际项目练习.当我们对 Webpack 的配置有了足够的理解后,就可以尝试重构一些项目.本次我选择了 ...

  8. java的split方法的转义字符

    一.实例 我们都知道  String s="ad,dfjdlfs,df,s,dfl"; 执行 String re[]=s.split(",");     则re ...

  9. http协议、web服务器-并发服务器1

    阅读目录: 1.http协议 2.Web静态服务器-1-显示固定的页面 3.Web静态服务器-2-显示需要的页面 4.Web静态服务器-3-多进程 5.Web静态服务器-4-多线程 一.HTTP协议简 ...

  10. 蓝屏攻击 MS12-020

    目录 1.蓝屏攻击 MS12-020 搜索对应活跃主机win7蓝屏漏洞端口 Nessus 执行漏洞扫描 Metasploit 漏洞利用 msfconsole Armitage 1.蓝屏攻击 MS12- ...