python-json
Posted 木林森__
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-json相关的知识,希望对你有一定的参考价值。
json
1. 简介
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
2. 安装使用
使用json函数需导入json库:import json
python3环境自带该库
函数 |
描述 |
json.dumps |
将 Python 对象编码成 JSON 字符串 |
json.loads |
将已编码的 JSON 字符串解码为 Python 对象 |
json.dump |
将数据写入json文件中 |
json.load |
从json文件中读取数据 |
2.1. 编码类型转换对应
Python编码-->JSON 类型转换对应表:
Python |
JSON |
dict |
object |
list, tuple |
array |
str |
string |
int, float, int- & float-derived Enums |
number |
True |
true |
False |
false |
None |
null |
JSON解码 -->Python 类型转换对应表:
JSON |
Python |
object |
dict |
array |
list |
string |
str |
number (int) |
int |
number (real) |
float |
true |
True |
false |
False |
null |
None |
3. 使用
3.1. json.dumps
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
实例将数组编码为 JSON 格式数据:
import json
data = [ { ‘a‘ : 1, ‘b‘ : 2, ‘c‘ : 3, ‘d‘ : 4, ‘e‘ : 5 } ]
json = json.dumps(data)
print(json)
执行结果为:
[{"e": 5, "d": 4, "a": 1, "c": 3, "b": 2}]
使用参数让 JSON 数据格式化输出:
import json
data = [ { ‘a‘ : 1, ‘b‘ : 2, ‘c‘ : 3, ‘d‘ : 4, ‘e‘ : 5 } ]
# 打开键值排序、缩进为 4、以‘,‘, ‘: ‘为分隔
json1 = json.dumps(data, sort_keys=True, indent=4, separators=(‘,‘, ‘: ‘))
print(json)
执行结果为:
[
{
"a": 1,
"b": 2,
"c": 3,
"d": 4,
"e": 5
}
]
3.2. json.loads
将字符串转换为字典
js = json.loads(json_str)
3.3. json.dump
将数据写入文件
with open("../config/record.json","w") as f:
json.dump(new_dict,f)
print("加载入文件完成...")
3.4. json.load
从文件中读取数据
with open("../config/record.json",‘r‘) as load_f:
load_dict = json.load(load_f)
print(load_dict)
load_dict[‘smallberg‘] = [8200,{1:[[‘Python‘,81],[‘shirt‘,300]]}]
print(load_dict)
with open("../config/record.json","w") as dump_f:
json.dump(load_dict,dump_f)
以上是关于python-json的主要内容,如果未能解决你的问题,请参考以下文章