โมดูล 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
| Python | JSON |
|---|---|
| dict | object |
| list, tuple | array |
| str | string |
| int, float | number |
| True, False | true, false |
| None | null |