ฉันเพิ่งเริ่มทำงานในโครงการเกี่ยวกับการสร้าง GUI โดยใช้ภาษาที่ประกาศบางรูปแบบ สิ่งที่ฉันหมายถึงคือฉันต้องอธิบายลำดับชั้นของวัตถุ โดยไม่ต้องระบุประเภทของวิดเจ็ต GUI ที่จะใช้เพื่อ "แสดง" ลำดับชั้นนั้น ตัวอย่างเช่น สำหรับลำดับชั้นที่มีอยู่ H บางส่วน โดยใช้รูปแบบ JSON (หรืออะไรทำนองนั้น):
H =
{
"title" : "Label_1"
"children" :
[
{
"title" : "Label_2"
"children":
[
{
"title": "Field_A"
"type": "Integer"
"value": 10
},
{
"title": "Field_B"
"type": "String"
"value": "YES"
}
]
}
]
}
บางคนสามารถสร้างหน้าต่างง่ายๆ ที่จะแสดงให้ผู้ใช้เห็นโดยการกดปุ่มที่มีป้ายกำกับ "Label_1" หน้าต่างอาจมีชื่อว่า "Label_2" และมีสองฟิลด์ชื่อ "Field_A" และ "Field_B" ที่ยอมรับค่าจำนวนเต็มและบูลีนตามลำดับ
บุคคลอื่นสามารถใส่ลำดับชั้นนี้ในรายการแบบต้นไม้ได้ เช่น
--------------------------------------------------------
>Label_1 |
>Label_2 |
>Field_A | 10
>Field_B | YES
คำถามแรกของฉันคือ ฉันต้องสร้างตัวแยกวิเคราะห์ภาษาบางรูปแบบเพื่อให้ได้สิ่งนี้หรือไม่ ฉันสามารถใช้ JSON ได้ไหม แม้ว่าฉันไม่จำเป็นต้องสนับสนุนลำดับชั้นที่ซับซ้อน แต่ก็จำเป็นต้องสนับสนุนลำดับชั้นที่ไม่เกิดร่วมกัน (เช่น ปุ่มตัวเลือกเปิด/ปิดการใช้งาน) ฉันรู้สึกว่าดูเหมือนภาษาบางรูปแบบที่มีการแยกวิเคราะห์ด้วยโอเปอเรเตอร์สองสามตัว อย่าเข้าใจฉันผิด ฉันมีพื้นฐานด้านวิศวกรรมเครื่องกล และฉันไม่ใช่โปรแกรมเมอร์ที่มีประสบการณ์
ขอขอบคุณล่วงหน้าสำหรับความคิดเห็นและความช่วยเหลือของคุณ