Json文件处理
什么是json:
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON支持数据格式:
1.对象(字典)。使用花括号
2.数组(列表)。使用方括号
3.整形、浮点型。
4.字符串类型(字符串必须使用双引号,不能用单引号)
多个数据之间使用逗号分开
注意:Json本质上就是一个字符串
将python对象转换成Json字符串
例子:
#将python对象转换成字符串
import json
user = [
{'name': 'user01',
'age': 10
},
{'name': 'user01',
'age': 10
}
]
json_str = json.dumps(user)
print(json_str)
dumps 与 dump函数的区别
dumps返回的是一个json对象
dump可以直接将返回的json写入到文件中
with open('person.json', 'w') as fp:
json.dump(user, fp)
Json保存中文数据时乱码
import json
user = [
{'name': '马化腾',
'age': 10
},
{'name': '艾克',
'age': 10
}
]
with open('person.json', 'w', encoding='utf-8') as fp:
json.dump(user, fp, ensure_ascii=False)
设置ensure_ascii=False,同时指定编码格式为encoding='utf-8 ’
将Json字符串转换成python对象
import json
json_str = '[{"name": "马化腾", "age": 10}, {"name": "艾克", "age": 10}]'
users = json.loads(json_str)
for user in users:
print(user)
loads与load的区别与前面的dumps和dump一样。