json的数据格式其实就是python中的字典格式
json.dumps() 对数据进行编码
json.loads() 对数据进行解码
import json
data = {"name":"a","age":"16"}
q = json.dumps(data) # 在json中,key和value都是由双引号标志的
p = str(data) # 而在字符串中,由单引号标志
print("json.dumps()后的输出,json储存为双引号",q)
print("str()后的输出,str储存为单引号",p)
# 进行解码
print(json.loads(q))
print(json.loads(p.replace("'", "\""))) #若要用json.loads进行解码,则必须替换单双引号,不然会报错
# json.loads 把包含字典类型的字符串 --》 字典
data2 = '{"1":{"name":"a","age":"16","sex":"F"},"2":{"name":"b","age":"32","sex":"M"},"3":{"name":"c","age":"64","sex":"F"}}'
people = json.loads(data2.replace("'", "\""))
print(people)
# 输出女性人数,及名字
num = 0
for i in people:
inf = people[i]
if inf['sex']=='F':
num += 1
print(inf['name'])
print(num)
json.dumps()后的输出,json储存为双引号 {"name": "a", "age": "16"}
str()后的输出,str储存为单引号 {'name': 'a', 'age': '16'}
{'name': 'a', 'age': '16'}
{'name': 'a', 'age': '16'}
{'1': {'name': 'a', 'age': '16', 'sex': 'F'}, '2': {'name': 'b', 'age': '32', 'sex': 'M'}, '3': {'name': 'c', 'age': '64', 'sex': 'F'}}
a
c
2