Python JSON

JSON คือสัญลักษณ์ที่ใช้เก็บและแลกเปลี่ยนข้อมูล

JSON เขียนด้วย JavaScript Object Notation (JSON)

JSON ใน Python

Python มี json บริวารภาคของ Python ที่สามารถใช้ประมวลผลข้อมูล 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": พึงพอใจ,
  "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)

ปฏิบัติตัวอย่าง