Python JSON - 奇客谷qikegu.com

Python JSON


JSON是一种用于存储和交换数据的语法。

JSON是用JavaScript对象表示法(JavaScript object notation)格式编写的文本。

Python中的JSON

Python中可导入json模块来处理json数据。

示例

导入json模块:

import json

复制

解析JSON – 将JSON转换为Python数据

可以使用json.loads()方法解析JSON文本。解析结果存放在一个Python字典里。

示例

从JSON到Python字典的转换:

import json

# JSON文本
x =  '{ "name":"Kevin", "age":38, "city":"Hangzhou"}'

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

# 解析结果是一个Python字典:
print(y["age"])

复制

把Python对象转换为JSON

可以使用json.dumps()方法将Python对象转换为JSON。

示例

把Python对象转换为JSON:

import json

# a Python object (dict):
x = {
  "name": "Kevin",
  "age": 38,
  "city": "Hangzhou"
}

# 转换为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": "Kevin", "age": 38}))
print(json.dumps(["自行车", "汽车", "高铁"]))
print(json.dumps(("自行车", "汽车", "高铁")))
print(json.dumps("hello"))
print(json.dumps(88))
print(json.dumps(95.34))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

复制

当将Python对象转换为JSON时,Python对象将被转换为对应JSON (JavaScript)类型:

PythonJSON
dictObject
listArray
tupleArray
strString
intNumber
floatNumber
Truetrue
Falsefalse
Nonenull

示例

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

import json

x = {
  "name": "Kevin",
  "age": 38,
  "married": True,
  "divorced": False,
  "children": ("Alice", "Bob"),
  "pets": None,
  "cars": [
    {"model": "BMW 230", "mpg": 27.5},
    {"model": "Ford Mondeo", "mpg": 24.1}
  ]
}

print(json.dumps(x))

复制

结果格式化

上面的示例打印了一个JSON字符串,没有缩进和换行符,不容易阅读。

json.dumps()方法有一些参数可以格式化输出结果:

示例

使用indent(缩进)参数来定义缩进数量:

json.dumps(x, indent=4)

复制

还可以定义分隔符,默认值是(“, “, “: “),表示使用逗号分隔对象,使用冒号分隔键和值:

示例

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

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

复制

订单结果

json.dumps()方法的sort_keys参数可用于对结果中的键排序:

示例

使用sort_keys参数指定结果是否应该排序:

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

复制


Doc navigation

← Python 日期(Datetime)

Python 正则表达式(RegEx) →

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值