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. 全网最适合入门的面向对象编程教程:55 Python字符串与序列化-字节序列类型和可变字节字符串

    全网最适合入门的面向对象编程教程:55 Python 字符串与序列化-字节序列类型和可变字节字符串 摘要: 在 Python 中,字符编码是将字符映射为字节的过程,而字节序列(bytes)则是存储这些 ...

  2. /proc/vmalloc

    root@pita2_mr813_tina35:/# cat /proc/vmallocinfo 0xffffff80007d0000-0xffffff8000902000 1253376 load_ ...

  3. 2022年10月中国数据库排行榜:达梦冲刺IPO热度不减,PolarDB立足创新夺锦才

    秋风萧瑟,洪波涌起. 2022年10月的 墨天轮中国数据库流行度排行榜 火热出炉,本月共有245个数据库参与排名,相比上月新增七个数据库,本月排行榜前十名变动较大:达梦反超openGauss重摘探花: ...

  4. iOS字符串大小写转换使用小结

    iOS开发中字符串用的比较多,追加,拆分,截取,替换,比较,大小写转换使用的频率还挺高.今天看oc技术书的时候看到关于大小写转换的地方,有一个说的是所有字母首字母大写,还是第一次看到,记录一下,以备后 ...

  5. C#中测试普通方法和对象类型以及泛型所需要的时间

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. 16. VUE怎么阻止冒泡

    给事件添加 stop 修饰符 ,比如 click.stop  ; 补充: 阻止默认行为 prevent 修饰符 ,超链接的跳转,表单的默认提交 : once 修饰符 事件只触发一次 ps:事件修饰符可 ...

  7. 分享几个实用且高效的EF Core扩展类库,提高开发效率!

    前言 今天大姚给大家分享3款开源且实用的EF Core扩展类库,希望能帮助你在使用 EF Core 进行数据库开发变得更加高效和灵活,提高开发效率. EF Core介绍 Entity Framewor ...

  8. 这十年我与广告不共戴天练就的十八般武艺 #PC去广告 #手机去广告

    背景 大家应该都体会过广告的苦恼,比如看着好看的电视,突然给播放广告,这时候痛苦系数飙升.随着社会进步,广告的载体,还有形式也越来越多,比如手机端各种APP启动广告,PC端软件弹窗,网站Banner等 ...

  9. .net 在线客服系统,到底能不能处理 50万 级消息量,系统架构实践

    业余时间用 .net core 写了一个在线客服系统.我把这款业余时间写的小系统丢在网上,陆续有人找我要私有化版本,我都给了,毕竟软件业的初衷就是免费和分享. 后来我索性就发了一个100%私有化版直接 ...

  10. php xattr操作文件扩展属性

    观摩了这篇文章后https://www.cnblogs.com/zyblog-coder/p/15013804.html 学到了php还有操作文件扩展属性的扩展 快速安装了一下 sudo apt-ge ...