จะแยกวิเคราะห์โดยใช้ boost ได้อย่างไรถ้าไม่ใช่ json แต่คล้ายกัน

ฉันมีแอปพลิเคชันที่อ่านพารามิเตอร์บางตัวจากไฟล์ json แต่ตอนนี้ไฟล์มีการเปลี่ยนแปลง (ไม่ใช่การตัดสินใจของฉัน) ไฟล์ดูค่อนข้างเหมือนเดิม แต่แทนที่จะเป็น {} มันมี [] ดังนั้นหากจนถึงตอนนี้มันดูเหมือน

{
  "A":
  {
    "a":"a",
    "b":"b"
  }
}

ตอนนี้มันเป็นเช่นนี้:

[
  "A":
  [
    "a":"a",
    "b":"b"
  ]
]

แอปพลิเคชันของฉันเขียนด้วยภาษา C++ ดังนั้นฉันจึงใช้ Boost เพื่อแยกวิเคราะห์ไฟล์ JSON แต่ตอนนี้ฉันกำลังมองหา Parser ใหม่ มีวิธีดำเนินการด้วย Boost หรือไม่

ฉันเริ่มค้นหาแล้ว แต่ยังถามคำถามโดยคิดว่าอาจมีคนช่วยฉันเร็วกว่าการหาคำตอบ ขอบคุณ


person sop    schedule 19.02.2015    source แหล่งที่มา
comment
คุณอาจเกียจคร้านและเพียงแทนที่อักขระจากอินพุตของคุณ จากนั้นจึงประมวลผลเหมือนกับที่คุณทำตอนนี้ จากนั้นตรวจสอบว่าประสิทธิภาพลดลงอย่างเห็นได้ชัดหรือไม่   -  person Benjamin Lindley    schedule 19.02.2015
comment
แอปพลิเคชันของฉันเขียนด้วยภาษา C++ ดังนั้นฉันจึงใช้ Boost เพื่อแยกไฟล์ json ไม่ คุณ ต้อง ใช้ Boost แน่นอน   -  person The Paramagnetic Croissant    schedule 19.02.2015
comment
@TheParamagneticCroissant: จริงอยู่ ฉันไม่จำเป็นต้องใช้ boost แต่ฉันใช้มันแล้ว :)   -  person sop    schedule 19.02.2015


คำตอบ (1)


ดูเหมือนว่าอนุพันธ์ของ Yet Another YAML/Mustache/JSON/...

หากไม่มีข้อมูลจำเพาะที่เป็นทางการ เป็นการยากที่จะประเมินว่าต้องใช้ความพยายามเพียงใด แต่นี่คือรายการการใช้งานไวยากรณ์ที่คล้ายกันใน Boost Spirit พร้อมความสมบูรณ์ของฟีเจอร์ที่แตกต่างกันไป:

แอปพลิเคชันของการนำ parser JSON ของของเล่นไปใช้:

person sehe    schedule 19.02.2015