版权声明:本文为博主原创文章,可以自由转载。 https://blog.csdn.net/u010953692/article/details/83590701
python 字符串和字典相互转换
1,python数据转换为json数据
#!/usr/local/bin/python3
# coding:utf-8
import json
data = '{"name": "ni", "city": "tt", "id" : 2256}'
print (data)
print (type(data))
#print (data['name'])
json_str = json.loads(data)
print (type(json_str))
print (json_str['name'])
print ("测试")
{"name": "ni", "city": "tt", "id" : 2256}
<class 'str'>
<class 'dict'>
ni
测试
- 报错,data里面字符串必须使用双引号
Expecting property name enclosed in double quotes
2,json.dumps() 和 json.loads() 编码和解码JSON数据
json.dumps():将python中的字典转换为字符串
json.loads(): 将字符串转换为字典
#!/usr/local/bin/python3
# coding:utf-8
import json
data = {
'name' : 'ni',
'city' : 'tt',
'id' : 2256
}
print ("data : " , data)
print ("type data : " , type(data))
print ("data['name']: " , data['name'])
data_str = json.dumps(data)
print ("data_str type : " , type(data_str))
print ("data_str : " , data_str)
data_json = json.loads(data_str)
print ("type data_json : " , type(data_json))
print ("data_json['name'] : ", data_json['name'])
print ("测试")
data : {'name': 'ni', 'city': 'tt', 'id': 2256}
type data : <class 'dict'>
data['name']: ni
data_str type : <class 'str'>
data_str : {"name": "ni", "city": "tt", "id": 2256}
type data_json : <class 'dict'>
data_json['name'] : ni
测试
3,文件转换为字典
$ cat data
{
"name" : "ni",
"city" : "tt",
"id" : 2256
}
$
#!/usr/local/bin/python3
# coding:utf-8
import json
file = "/root/data"
print ("file type : " , type(file))
file_open = open(file , 'r')
print ("file_open type : " , type(file_open))
file_read = file_open.read()
print ("file_read type : " , type(file_read))
data = json.loads(file_read)
print ("data type : " , type(data))
print ("data['name'] : " , data['name'])
print ("测试")
file type : <class 'str'>
file_open type : <class '_io.TextIOWrapper'>
file_read type : <class 'str'>
data type : <class 'dict'>
data['name'] : ni
测试
#!/usr/local/bin/python3
# coding:utf-8
import json
file = "/Users/y50/data"
with open (file , 'r') as f:
file_read = f.read()
data = json.loads(file_read)
print (data['name'])
print ("测试")
ni
测试
参考: