JSON sa Python

Ang JSON ay isang syntax na ginamit para sa pag-iimbak at pagpapalitan ng data.

Ang JSON ay isang teksto na naisulat gamit ang JavaScript object notation (JavaScript object notation).

JSON sa Python

Mayroon ang Python na may pangalan na json na binibigyang kahulugan na pakete, maaaring gamitin para sa paggamit ng JSON data.

Halimbawa

Iimportahin ang json Mga modulong:

import json

Magpaliwanag ng JSON - Ito ay pagbaguhin ang JSON sa Python

Kung mayroon JSON string, maaaring gamitin ito json.loads() 方法对其进行解析。

结果将是 Python 字典。

Halimbawa

把 JSON 转换为 Python:

import json
# 一些 JSON:
x =  '{ "name":"Bill", "age":63, "city":"Seatle"}'
# 解析 x:
y = json.loads(x)
# 结果是 Python 字典:
print(y["age"])

Run Example

把 Python 转换为 JSON

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

Halimbawa

把 Python 转换为 JSON:

import json
# Python 对象(字典):
x = {
  "name": "Bill",
  "edad": 63,
  "city": "Seatle"
}
# 转换为 JSON:
y = json.dumps(x)
# 结果是 JSON 字符串:
print(y)

Run Example

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

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

Halimbawa

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

Run Example

当 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

Halimbawa

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

import json
x = {
  "name": "Bill",
  "edad": 63,
  "mag-asawa": 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))

Run Example

Format ang resulta

Ang halimbawa sa itaas ay nag-print ng string na JSON, ngunit hindi madaling basahin, walang paghahilaga at pagpalit ng halina.

json.dumps() Ang method ay nagbibigay ng parameter upang palakihin ang pagkakakilanlan ng resulta:

Halimbawa

Gamit indent Parameter na nagbibigay ng tukoy sa bilang ng paghahilaga:

json.dumps(x, indent=4)

Run Example

Maaari mo ring mag-define ng separator, ang default na halaga ay (", ", ": "), ibig sabihin na gamitin ang kumoma at liwanag na maghihiwalay sa bawat bagay, gamitin ang kumoma at liwanag na maghihiwalay sa susi at halaga:

Halimbawa

Gamit separators Parameter upang baguhin ang default na separator:

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

Run Example

Iayon ang resulta

json.dumps() Ang method ay nagbibigay ng parameter upang iayon ang mga susi sa resulta:

Halimbawa

Gamit sort_keys Parameter upang matukoy kung kailangan iayon ang resulta:

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

Run Example