มีไม่กี่คำถามในหัวข้อแต่ไม่มีพวกเขาดูเหมือนจะครอบคลุมกรณีของฉันจึงฉันกำลังสร้างใหม่
ฉันมี JSON ดังต่อไปนี้:
{"foo":{ "bar": "1", "baz": "2" }, "more": "text"}
มีวิธีที่จะ unmarshal คุณสมบัติแถบที่ซ้อนกันและกำหนดให้กับคุณสมบัติของโครงสร้างโดยตรงโดยไม่ต้องสร้างโครงสร้างที่ซ้อนกันหรือไม่?
วิธีแก้ปัญหาที่ฉันกำลังใช้อยู่ตอนนี้มีดังต่อไปนี้:
type Foo struct {
More String `json:"more"`
Foo struct {
Bar string `json:"bar"`
Baz string `json:"baz"`
} `json:"foo"`
// FooBar string `json:"foo.bar"`
}
นี่เป็นเวอร์ชันที่เรียบง่ายโปรดละเว้นการใช้คำฟุ่มเฟือย อย่างที่คุณเห็นฉันต้องการแยกวิเคราะห์และกำหนดค่าให้
// FooBar string `json:"foo.bar"`
ฉันเคยเห็นคนใช้แผนที่ แต่นั่นไม่ใช่กรณีของฉัน โดยพื้นฐานแล้วฉันไม่สนใจเนื้อหาของfoo
(ซึ่งเป็นวัตถุขนาดใหญ่) ยกเว้นองค์ประกอบเฉพาะบางอย่าง
แนวทางที่ถูกต้องในกรณีนี้คืออะไร? ฉันไม่ได้มองหาแฮ็คแปลก ๆ ดังนั้นถ้าเป็นวิธีที่จะไปฉันก็สบายดี