python 字符串和字典转换提示如下错误:
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
data = {
'aa': 'sssdfads',
'bb': '11.11.11.11',
'cc': '11',
'dd': 'dd',
}
data = json.dumps(data)
#以下内容是base64编码
data = data.encode("utf-8")
str_url = base64.b64encode(data) # 被编码的参数必须是二进制数据
print(str_url)
aa = base64.b64decode(str_url).decode("utf-8")
print(aa)
print(type(aa))
aa = json.loads(aa)
print(type(aa))
print(aa['cc'])
第一种解决方法:
json.dumps(): 对数据进行编码。
json.loads(): 对数据进行解码。
该方法不需要对字典进行特殊处理了;
第二种解决方法:
首先使用str(data) 将字典转化为字符串
使用eval python和字典是一家~
data = {
'aa': 'sssdfads',
'bb': '11.11.11.11',
'cc': '11',
'dd': 'dd',
}
data = str(data)
#以下内容是base64编码
data = data.encode("utf-8")
str_url = base64.b64encode(data) # 被编码的参数必须是二进制数据
print(str_url)
aa = base64.b64decode(str_url).decode("utf-8")
print(aa)
print(type(aa))
aa = eval(aa)
print(type(aa))
print(aa['cc'])