python字典、字符串(json串)、字节串之间的转化
字典和json字符串(本质也是字符串)之间的转化用json.dumps和json.loads()
json.dumps(): 字典→json字符串
json.loads(): json字符串→字典
字符串和字节串之间的转化用encode()和decode()
encode(): 字符串→字节串
decode(): 字节串→字符串
所以这三种类型的数据可以通过字符串这个中间量进行转化,达到字典和字节串的互相转化。
例如注册页面,前端通过post方式向后端发送请求,后端从request.body里拿数据,这里拿到的数据本质类型是字节串
python3.6.8的可以直接用json.loads()把字节串直接转为字典,再从字典里拿对应的信息
python3.5.2就不行,必须要把字节串先转为字符串,再才能字符串变为字典
举个栗子看一下,只是部分代码,python版本为3.6.8:
if request.method == 'POST':
#注册
json_str = request.body
if not json_str:
result = {'code':202, 'error': 'Please POST data!!'}
return JsonResponse(result)
#如果当前报错,请执行 json_str = json_str.decode()
json_obj = json.loads(json_str) username = json_obj.get('username')
email = json_obj.get('email')
password_1 = json_obj.get('password_1')
password_2 = json_obj.get('password_2')
python字典、字符串(json串)、字节串之间的转化的更多相关文章
- 【python 字典、json】python字典和Json的相互转换
[python 字典.json]python字典和Json的相互转换 dump/dumps字典转换成json load/loadsjson转化成字典 dumps.loads直接输出字符 dump.lo ...
- python各进制、字节串间的转换
>>> i = 13 >>> bin(i) '0b1101' >>> oct(i) '0o15' >>> hex(i) '0xd ...
- Python 字典和json的本质区别(个人理解)
个人理解:字典和json显示的时候差不多,但是数据类型不同(如下图): 字典的类型是字典dict json的类型是字符串str 接口测试是传参数payload时有时候是传的字符串,应该将payload ...
- Python字典的json格式化处理(换行与不换行)
Prefer = {"jim": {"War": 1.9, "the big bang": 1.0, "The lord of w ...
- C#入门篇6-6:字符串操作 StringBiulder string char[]之间的转化
//StringBiulder string char[]之间的转化 public static void Fun3() { StringBuilder sb = new StringBuilder( ...
- python 字典与json的区别
json:是一种数据格式,是纯字符串.可以被解析成Python的dict或者其他形式. dict:是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方 ...
- Android--字符串和Drawable之间互相转化
//将字符串转化成Drawable public synchronized static Drawable StringToDrawable(String icon) { if (icon == nu ...
- json string 与object 之间的转化
1.将json string转化成object 1: public static T GetObjectFromJson<T>(string jsonString) 2: { 3: Dat ...
- [转]python常用的十进制、16进制、字符串、字节串之间的转换
阅读目录(Content) 整数之间的进制转换: 字符串转整数: 字节串转整数: 整数转字节串: 字符串转字节串: 字节串转字符串: 测试用的python源码 进行协议解析时,总是会遇到各种各样的数据 ...
- python 的 encode 、decode、字节串、字符串
一.摆个图 DJ DJ DJ Decode. J 解码 首先得知道字符串有哪些编码格式,至于为什么会有这么多的编码格式,以后再了解更新. 1.ASCII 占1个字节,只支持英文 2.GB231 ...
随机推荐
- 广告URL
讨厌的csdn 广告,百度搜索了一次,csdn cookie广告追了你好几年还有... 把下面的url 重定向127.0.0.1 ,只记录了百度广告,部分阿里的广告,其他还未记录 虽然也用Adblo ...
- Django - Xadmin (三) 分页、搜索和批量操作
Django - Xadmin (三) 分页.搜索和批量操作 分页和 ShowList 类 因为 list_view 视图函数里面代码太多,太乱,所以将其里面的用于处理表头.处理表单数据的关键代码提取 ...
- Linux 使用ansible配置集群间互信
安装pip $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本 $ sudo python get-pip.py # ...
- Asp.Net MVC 5使用Identity之简单的注册和登陆
由于.Net MVC 5登陆和注册方式有很多种,但是Identity方式去实现或许会更简单更容易理解 首先新建一个项目 其次如下选择Empty和MVC的选项 然后打开NuGet包管理器分别安装几个包 ...
- sort对数组排序
描述 Array的sort方法用于对原数组进行排序,不会产生新的数组.排序默认的规则是按照数组元素的字符编码进行排序.如果要按照自己的意愿对数组进行升序或者降序排序,就需要对sort传入一个比较函数 ...
- 前端开发HTML&css入门——常用的标签以及一个小练习
meta标签 <!doctype html> <html> <head> <meta charset="utf-8" /> < ...
- python使用etcd
import sys import etcd client = etcd.Client( host='127.0.0.1', port=2379, allow_reconnect=True) clie ...
- tf.matmul / tf.multiply
import tensorflow as tfimport numpy as np 1.tf.placeholder placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时 ...
- 线程工具类 - CountDownLatch(倒计时器)
CountDownLatch官方文档 一.原理 CountDownLatch是一个非常实用的多线程控制工具类.Count Down在英文中意为倒计时,Latch意为门闩,可以简单的将CountDown ...
- 【HbuilerX-Bug】终端无法显示打印信息,也无法输入
经过调试HbuilderX“终端”插件,最终定位问题,问题是插件在打开终端时,无法定位具体的窗口程序,如“cmd.exe”.“powershell.exe”等.可能产生原因:1.可能是电脑系统升级产生 ...