การวิเคราะห์ข้อมูล Python3 JSON
JSON (JavaScript Object สัญลักษณ์) เป็นรูปแบบที่มีน้ำหนักเบาแลกเปลี่ยนข้อมูล มันขึ้นอยู่กับย่อยชุดของ ECMAScript
โมดูล JSON Python3 สามารถใช้ในการเข้ารหัสและถอดรหัสข้อมูล JSON ซึ่งมีสองฟังก์ชั่น:
- json.dumps (): การเข้ารหัสข้อมูล
- json.loads (): ข้อมูลจะถูกถอดรหัส
ในกระบวนการแปลงสัญญาณ JSON, Python และ JSON ประเภทของรูปแบบดั้งเดิมจะถูกแปลงเป็นแต่ละอื่น ๆ การควบคุมการเปลี่ยนแปลงที่ระบุดังนี้
งูหลาม JSON เข้ารหัสเป็นตารางการแปลงชนิดการติดต่อ:
หลาม | JSON |
---|---|
Dict | วัตถุ |
รายการ tuple | แถว |
STR | เชือก |
int ลอย int- และลอยมา Enums | จำนวน |
จริง | จริง |
เท็จ | เท็จ |
ไม่มีเลย | โมฆะ |
JSON ถอดรหัสประเภทงูหลามตารางการแปลงติดต่อ:
JSON | หลาม |
---|---|
วัตถุ | Dict |
แถว | รายการ |
เชือก | STR |
จำนวน (int) | int |
จำนวน (จริง) | ลอย |
จริง | จริง |
เท็จ | เท็จ |
โมฆะ | ไม่มีเลย |
json.dumps และตัวอย่าง json.loads
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงงูหลามโครงสร้างข้อมูลลงใน JSON:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.w3big.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str)
ดำเนินการออกผลโค้ดข้างต้น:
Python 原始数据: {'url': 'http://www.w3big.com', 'no': 1, 'name': 'w3big'} JSON 对象: {"url": "http://www.w3big.com", "no": 1, "name": "w3big"}
ผลที่ได้สามารถมองเห็นได้ผ่านการส่งออกตามประเภทง่ายๆโดยการเข้ารหัส Repr เดิม () การส่งออกจะคล้ายกันมาก
จากนั้นตัวอย่างข้างต้นเราสามารถแปลงสตริง JSON เข้ารหัสกลับไปที่โครงสร้างข้อมูลหลาม:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data1 = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.w3big.com' } json_str = json.dumps(data1) print ("Python 原始数据:", repr(data1)) print ("JSON 对象:", json_str) # 将 JSON 对象转换为 Python 字典 data2 = json.loads(json_str) print ("data2['name']: ", data2['name']) print ("data2['url']: ", data2['url'])
ดำเนินการออกผลโค้ดข้างต้น:
ython 原始数据: {'name': 'w3big', 'no': 1, 'url': 'http://www.w3big.com'} JSON 对象: {"name": "w3big", "no": 1, "url": "http://www.w3big.com"} data2['name']: w3big data2['url']: http://www.w3big.com
หากคุณต้องการที่จะจัดการกับไฟล์แทนของสตริงคุณสามารถใช้json.dump () และ json.load ()เพื่อเข้ารหัสและถอดรหัสข้อมูล JSON ตัวอย่างเช่น:
# 写入 JSON 数据 with open('data.json', 'w') as f: json.dump(data, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f)
สำหรับข้อมูลเพิ่มเติมโปรดดูที่: https://docs.python.org/3/library/json.html