21-python学习笔记之JSON


前言


以下都是自己的一些学习笔记,可能有写的不对的地方,还望各位大佬体谅和加以指正。


JSON 是用于存储和交换数据的语法。
JSON 是用 JavaScript 对象表示法(JavaScript object notation)编写的文本。
json 与 python中的字典类似

Python 中的 JSON
Python 有一个名为 json 的内置包,可用于处理 JSON 数据。

导入 json 模块:

import json

一、JSON 转换为 python 字典

解析 JSON - 把 JSON 转换为 Python
若有 JSON 字符串,则可以使用 json.loads()在这里插入代码片 方法对其进行解析。
结果将是 Python 字典

把 JSON 转换为 Python:

import json

# 一些 JSON:
x =  '{ "name":"Bill", "age":63, "city":"Seatle"}'

# 解析 x:
y = json.loads(x) # 解析函数

# 结果是 Python 字典:
print(y["age"]) # 63

把 Python 转换为 JSON

若有 Python 对象,则可以使用 json.dumps() 方法将其转换为 JSON 字符串。

把 Python 转换为 JSON:

import json

# Python 对象(字典):
x = {
  "name": "Bill",
  "age": 63,
  "city": "Seatle"
}

# 转换为 JSON:
y = json.dumps(x) # 转换函数

# 结果是 JSON 字符串:
print(y)

我们可以把以下类型的 Python 对象转换为 JSON 字符串:

  • dict
  • list
  • tuple
  • string
  • int
  • float
  • True
  • False
  • None

将 Python 对象转换为 JSON 字符串,并打印值:

import json

print(json.dumps({"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

打印结果:

{"name": "Bill", "age": 63}
["apple", "bananas"]
["apple", "bananas"]
"hello"
42
31.76
true
false
null

当 Python 转换为 JSON 时,Python 对象会被转换为 JSON(JavaScript)等效项:

Python		JSON
dict		Object
list		Array
tuple		Array
str			String
int			Number
float		Number
True		true
False		false
None		null

转换包含所有合法数据类型的 Python 对象:

import json

x = {
  "name": "Bill",
  "age": 63,
  "married": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}

print(json.dumps(x))

格式化结果

上面的实例打印一个 JSON 字符串,但它不是很容易阅读,没有缩进和换行。
json.dumps() 方法提供了令结果更易读的参数:

使用 indent 参数定义缩进数:

json.dumps(x, indent=4)

我们还可以定义分隔符,默认值为(", ", ": "),这意味着使用逗号和空格分隔每个对象,使用冒号和空格将键与值分开:

使用 separators 参数来更改默认分隔符:

json.dumps(x, indent=4, separators=(". ", " = "))

对结果排序

json.dumps() 方法提供了对结果中的键进行排序的参数:
使用 sort_keys 参数来指定是否应对结果进行排序:

json.dumps(x, indent=4, sort_keys=True)

总结

JSON 是后期实现与其他程序进行交互的一个重要手段,一定要会。
不需要会全部,但是一定要会JSON和python之间的转换

JSON 转换 python

json = '{ "name":"Bill", "age":63, "city":"Seatle"}'
result = json.loads(json)

python 转换 JSON

dict = '{ "name":"Bill", "age":63, "city":"Seatle"}'
result = json.dumps(dict)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值