แยกวิเคราะห์การตอบกลับ JSON
ดึงฟิลด์ต่าง ๆ ด้วย ArduinoJson
แยกวิเคราะห์การตอบกลับ JSON เป็นบทเรียน Arduino & IoT Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Arduino & IoT Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Arduino & IoT Academy มีบทเรียนทั้งหมด 4 บทเรียน
การตอบกลับมีเพียงข้อความ
การตอบกลับจากเซิร์ฟเวอร์มาถึงในรูป สตริง ยาวหนึ่งชุด หากต้องการใช้ค่าภายในสตริง คุณต้องดึงค่านั้นออกมาอย่างถูกต้องก่อน
ทำไมไม่ค้นหาด้วยตนเอง
การค้นหาข้อความด้วย indexOf ไม่ยืดหยุ่นและอาจผิดพลาดได้ง่าย ส่วน ตัวแยกวิเคราะห์ JSON ที่เหมาะสมจะเข้าใจโครงสร้างและมอบฟิลด์ให้คุณอย่างปลอดภัย
รู้จัก ArduinoJson
ไลบรารี ArduinoJson จะแปลงสตริง JSON เป็นออบเจ็กต์ที่อ่านค่าด้วยคีย์ได้ ติดตั้งไลบรารีนี้จากตัวจัดการไลบรารี
#include <ArduinoJson.h>สร้างเอกสาร
สร้าง JsonDocument เพื่อเก็บข้อมูลที่แยกวิเคราะห์แล้ว นี่คือภาชนะที่ ArduinoJson จะเติมข้อมูลให้คุณ
JsonDocument doc;แยกวิเคราะห์สตริง
เรียกใช้ deserializeJson() พร้อมเอกสารและข้อความตอบกลับของคุณ คำสั่งนี้จะอ่านสตริงและเติมข้อมูลลงในเอกสาร
deserializeJson(doc, body);ตรวจสอบข้อผิดพลาด
deserializeJson จะคืนค่า ข้อผิดพลาด ซึ่งคุณควรทดสอบ JSON ที่ไม่ถูกต้องหรือไม่ครบถ้วนควรถูกตรวจจับก่อนที่จะเชื่อถือฟิลด์ใด ๆ
if (deserializeJson(doc, body)) {
return; // parse failed
}อ่านฟิลด์ด้วยคีย์
เข้าถึงค่าด้วย คีย์ ของค่า เช่นเดียวกับพจนานุกรม และบอก ArduinoJson ว่าคุณคาดหวังชนิดข้อมูลใดสำหรับฟิลด์นั้น
float temp = doc["temp"];อ่านค่าที่ซ้อนกัน
สำหรับ JSON ที่มีข้อมูลซ้อนกัน ให้เรียง คีย์ ต่อกัน วงเล็บแต่ละคู่จะนำคุณลงไปอีกหนึ่งระดับในโครงสร้างจนถึงค่าที่ต้องการ
int id = doc["device"]["id"];วนดูข้อมูลในอาร์เรย์
หากฟิลด์เป็น อาร์เรย์ JSON คุณสามารถวนดูด้วยลูป for และอ่านสมาชิกแต่ละตัวตามลำดับ
for (JsonVariant v : doc["list"].as<JsonArray>()) {
}กำหนดขนาดเอกสารให้เหมาะสม
JsonDocument ใช้ หน่วยความจำ ควรกำหนดขนาดให้ใหญ่พอสำหรับข้อมูลเท่านั้น เนื่องจาก RAM ในไมโครคอนโทรลเลอร์มีจำกัด
ต้องระวังเมื่อใช้สตริง
ให้ถือว่า สตริง ที่แยกวิเคราะห์แล้วใช้งานได้ตราบเท่าที่ข้อความต้นฉบับยังมีอยู่ หากต้องการเก็บไว้นานกว่านั้น ให้คัดลอกค่าออกมา
ตรวจสอบอย่างรวดเร็ว
ฟังก์ชันใดเป็นผู้แปลงข้อความ JSON ให้กลายเป็นเอกสารที่อ่านได้จริง
สรุป
คุณใช้ ArduinoJson เพื่อแยกวิเคราะห์การตอบกลับ ตรวจสอบข้อผิดพลาด และอ่านฟิลด์กับอาร์เรย์ด้วยคีย์ ตอนนี้ข้อความดิบกลายเป็นข้อมูลจริงแล้ว 🎉
เรียนรู้ C++ ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “แยกวิเคราะห์การตอบกลับ JSON” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แยกวิเคราะห์การตอบกลับ JSON” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Arduino & IoT Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Arduino & IoT Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แยกวิเคราะห์การตอบกลับ JSON”
ดึงฟิลด์ต่าง ๆ ด้วย ArduinoJson คุณปฏิบัติ Arduino & IoT Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Arduino & IoT Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Arduino & IoT Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “แยกวิเคราะห์การตอบกลับ JSON” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Arduino & IoT Academy นี้ได้ไหม
ได้ บทเรียน Arduino & IoT Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- รับข้อมูล GET จาก API
- ส่งค่าที่อ่านได้จากเซนเซอร์ด้วย POST
- แยกวิเคราะห์การตอบกลับ JSON
- ใช้ HTTPS อย่างปลอดภัย