Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การพิมพ์ Python Dictionary ในรูปแบบ JSON

โมดูล json ใน standard library ใช้ encode/decode JSON ฟังก์ชัน json.dumps() แปลง Python object → JSON string

ตัวอย่างพื้นฐาน

>> D1 = {"pen": 25, "pencil": 10, "book": 100, "sharpner": 5, "eraser": 5}
>>> import json
>>> j = json.dumps(D1)
>>> j
'{"pen": 25, "pencil": 10, "book": 100, "sharpner": 5, "eraser": 5}'

ตัวเลือกที่ใช้บ่อย

>> # pretty print (indent)
>>> print(json.dumps(D1, indent=2))
{
  "pen": 25,
  "pencil": 10,
  "book": 100,
  "sharpner": 5,
  "eraser": 5
}

>>> # sort keys
>>> json.dumps(D1, sort_keys=True)
'{"book": 100, "eraser": 5, "pen": 25, "pencil": 10, "sharpner": 5}'

>>> # ensure_ascii=False สำหรับภาษาไทย/Unicode
>>> json.dumps({"msg": "สวัสดี"}, ensure_ascii=False)
'{"msg": "สวัสดี"}'

การแปลงกลับ (Decode)

>> json_str = '{"pen": 25, "pencil": 10}'
>>> json.loads(json_str)
{'pen': 25, 'pencil': 10}

Mapping ชนิดข้อมูล Python ↔ JSON

PythonJSON
dictobject
list, tuplearray
strstring
int, floatnumber
True, Falsetrue, false
Nonenull