เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บท JSON
JSON เป็นStandard format สำหรับการจัดเก็บและแลกเปลี่ยนข้อมูล
JSON ย่อมาจาก JavaScript object notation
JSON in Python
Python มีbuilt-in package ชื่อ json ซึ่งสามารถใช้เพื่อทำงานกับข้อมูล JSON
import โมดูล json
import json |
เข้ารหัสและถอดรหัส JSON
มีอยู่ 2 คำสั่งต่อไปนี้
json.dumps (): การเข้ารหัสข้อมูล
ตัวอย่าง
import json |
ผลลัพธ์
{"name": "John", "age": 30, "city": "New York"} |
json.loads (): ข้อมูลจะถูกถอดรหัส
ตัวอย่าง
import json |
ผลลัพธ์
30 |
กรอบด้านล่างนี้เป็นการเปรียบเทียบระหว่าง Python Element กับ JSON Element
PYTHON ELEMENT | JSON ELEMENT |
---|---|
Dict |
objects |
list tuple |
Array |
STR |
String |
int float |
number |
True |
True |
False |
False |
none |
null |
ตัวอย่าง
แปลงออบเจ็กต์ Python เป็นสตริง JSON และพิมพ์ค่า
import json |
ผลลัพธ์
{"name": "John", "age": 30} |
จัดรูปแบบผลลัพธ์
ตัวอย่างด้านบนปรินต์สตริง JSON แต่ไม่ง่ายต่อการอ่านโดยมันไม่มีการเว้นย่อหน้าและการขึ้นบรรทัดใหม่ เมธอด json.dumps () มีพารามิเตอร์เพื่อให้ง่ายต่อการอ่านผลลัพธ์
ตัวอย่าง
ใช้พารามิเตอร์ indent เพื่อกำหนดจำนวนของการย่อหน้า
import json x = { # use four indents to make it easier to read the result: |
ผลลัพธ์
{ |
นักเรียนยังสามารถกำหนดตัวคั่นค่าเริ่มต้นคือ (",", ":") ซึ่งหมายถึงการใช้เครื่องหมายจุลภาคและช่องว่างเพื่อแยกแต่ละออบเจ็กต์และเครื่องหมายจุดคู่และช่องว่างเพื่อแยกKeysออกจากค่า
ตัวอย่าง
ใช้พารามิเตอร์ตัวคั่นเพื่อเปลี่ยนตัวคั่นเริ่มต้น
import json x = { # use . and a space to separate objects, and a space, a = and a space to separate keys from their values: |
ผลลัพธ์
{ |
Order the Result
วิธีการใช้ json.dumps () มีพารามิเตอร์ในการorder keys ในผลลัพธ์
ตัวอย่าง
ใช้พารามิเตอร์ sort_keys เพื่อให้มันทำการจัดเรียงผลลัพธ์ออกมา
import json x = { # sort the result alphabetically by keys: |
ผลลัพธ์
{ |
สรุป JSON เป็นStandard format สำหรับการจัดเก็บและแลกเปลี่ยนข้อมูล มีทั้งหมด 2 คำสั่ง
Tag ที่น่าสนใจ: python json programming data_exchange data_storage json_in_python json.dumps json.loads python_dictionary python_list python_string python_number python_true_and_false python_none json_comparison python_json_conversion
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM