เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
โหนดนี้ใช้เอนจินการคำนวณ JSON ที่หลากหลาย เพื่อคำนวณหรือแปลงโครงสร้างข้อมูล JSON ที่ซับซ้อนซึ่งมาจากโหนดต้นทาง ให้พร้อมสำหรับโหนดถัดไปนำไปใช้ได้ครับ/ค่ะ ตัวอย่างเช่น ผลลัพธ์จากโหนดการดำเนินการ SQL และโหนดคำขอ HTTP สามารถถูกแปลงให้เป็นค่าและรูปแบบตัวแปรที่ต้องการผ่านโหนดนี้ เพื่อให้โหนดถัดไปนำไปใช้งานต่อได้ครับ/ค่ะ
ในหน้าจอการตั้งค่าเวิร์กโฟลว์ ให้คลิกปุ่มเครื่องหมายบวก ("+") ในโฟลว์ เพื่อเพิ่มโหนด "JSON Calculation" ครับ/ค่ะ

โดยทั่วไปแล้ว โหนด JSON Calculation มักจะถูกสร้างไว้ใต้โหนดข้อมูลอื่น ๆ เพื่อใช้ในการแยกวิเคราะห์ข้อมูลเหล่านั้นครับ/ค่ะ
โหนด JSON Calculation รองรับไวยากรณ์ที่แตกต่างกันผ่านเอนจินการแยกวิเคราะห์ที่หลากหลายครับ/ค่ะ คุณสามารถเลือกได้ตามความต้องการและคุณสมบัติเฉพาะของแต่ละเอนจิน ปัจจุบันรองรับเอนจินการแยกวิเคราะห์สามประเภท ได้แก่:

แหล่งข้อมูลสามารถเป็นผลลัพธ์จากโหนดต้นทาง หรือเป็นออบเจกต์ข้อมูลในบริบทของเวิร์กโฟลว์ก็ได้ครับ/ค่ะ โดยทั่วไปแล้วจะเป็นออบเจกต์ข้อมูลที่ไม่มีโครงสร้างภายในตัว เช่น ผลลัพธ์จากโหนด SQL หรือโหนดคำขอ HTTP

โดยทั่วไปแล้ว ออบเจกต์ข้อมูลของโหนดที่เกี่ยวข้องกับคอลเลกชันจะถูกจัดโครงสร้างผ่านข้อมูลการตั้งค่าคอลเลกชันอยู่แล้วครับ/ค่ะ จึงไม่จำเป็นต้องแยกวิเคราะห์ด้วยโหนด JSON Calculation
คุณสามารถกำหนดนิพจน์การแยกวิเคราะห์เองได้ โดยขึ้นอยู่กับความต้องการในการแยกวิเคราะห์และเอนจินการแยกวิเคราะห์ที่คุณเลือกครับ/ค่ะ

เอนจินแต่ละตัวมีไวยากรณ์การแยกวิเคราะห์ที่แตกต่างกันครับ/ค่ะ สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบในลิงก์ที่ให้ไว้
ตั้งแต่เวอร์ชัน v1.0.0-alpha.15 เป็นต้นไป นิพจน์รองรับการใช้งานตัวแปรครับ/ค่ะ ตัวแปรจะถูกแยกวิเคราะห์ล่วงหน้าก่อนที่เอนจินจะทำงาน โดยจะแทนที่ตัวแปรด้วยค่าสตริงที่เฉพาะเจาะจงตามกฎของเทมเพลตสตริง และนำไปเชื่อมต่อกับสตริงคงที่อื่น ๆ ในนิพจน์เพื่อสร้างนิพจน์สุดท้าย คุณสมบัตินี้มีประโยชน์มากเมื่อคุณต้องการสร้างนิพจน์แบบไดนามิก เช่น เมื่อเนื้อหา JSON บางส่วนต้องการคีย์แบบไดนามิกสำหรับการแยกวิเคราะห์
เมื่อผลลัพธ์ของการคำนวณเป็นออบเจกต์ (หรืออาร์เรย์ของออบเจกต์) คุณสามารถแมปคุณสมบัติที่ต้องการให้เป็นตัวแปรย่อยเพิ่มเติมผ่านการแมปคุณสมบัติ เพื่อให้โหนดถัดไปนำไปใช้งานได้ครับ/ค่ะ

สำหรับผลลัพธ์ที่เป็นออบเจกต์ (หรืออาร์เรย์ของออบเจกต์) หากไม่มีการแมปคุณสมบัติ ออบเจกต์ทั้งหมด (หรืออาร์เรย์ของออบเจกต์) จะถูกบันทึกเป็นตัวแปรเดียวในผลลัพธ์ของโหนดครับ/ค่ะ ซึ่งจะทำให้ไม่สามารถใช้ค่าคุณสมบัติของออบเจกต์โดยตรงในรูปแบบของตัวแปรได้
สมมติว่าข้อมูลที่ต้องการแยกวิเคราะห์มาจากโหนด SQL ก่อนหน้า ซึ่งใช้สำหรับสอบถามข้อมูล และผลลัพธ์ที่ได้คือชุดข้อมูลคำสั่งซื้อดังนี้ครับ/ค่ะ
หากเราต้องการแยกวิเคราะห์และคำนวณราคารวมของคำสั่งซื้อสองรายการในข้อมูล และนำมารวมกับ ID คำสั่งซื้อที่เกี่ยวข้องให้อยู่ในรูปแบบออบเจกต์ เพื่อใช้อัปเดตราคารวมของคำสั่งซื้อ เราสามารถตั้งค่าได้ดังนี้ครับ/ค่ะ

$[0].{"id": id, "total": products.(price * quantity)} ในการแยกวิเคราะห์id และ total ให้เป็นตัวแปรย่อยผลลัพธ์การแยกวิเคราะห์สุดท้ายจะเป็นดังนี้ครับ/ค่ะ
จากนั้น ให้วนลูปผ่านอาร์เรย์ของคำสั่งซื้อที่ได้ เพื่ออัปเดตราคารวมของคำสั่งซื้อได้เลยครับ/ค่ะ
