python str dic json 字符串和文件转化为字典

版权声明:本文为博主原创文章,可以自由转载。 https://blog.csdn.net/u010953692/article/details/83590701

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
测试

参考:

  1. Docs » 第六章:数据编码和处理 » 6.2 读写JSON数据
  2. Python 中将字符串转换为字典的方法
  3. Python3 JSON 数据解析
  4. python读写json文件
  5. Python txt文件读取写入字典的方法(json、eval)

猜你喜欢

转载自blog.csdn.net/u010953692/article/details/83590701
DIC