当前位置:首页 > python教程 > python基础

Python JSON

  • python 日期

json 是用于存储和交换数据的语法。

json 是用 javascript 对象表示法(javascript object notation)编写的文本。

python 中的 json

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

实例

导入 json 模块:

import json

解析 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"])

运行实例

把 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))

运行实例

当 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)

运行实例

  • python 日期

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!