jsonを格納する次のデータ構造体を初期化する必要があります。 Attack_plansは複数のプランを保持し、GeneratePlan構造体をループすると、格納されているすべてのプランが必要になります。構造体の構造体(json出力を格納する)の配列をgolang内の構造体に初期化するには
type GeneratePlan struct {
Mode string `json:"mode"`
Name string `json:"name"`
Schema string `json:"schema"`
Version string `json:"version"`
Attack_plans []struct {
Attack_plan *Attack_plan `json:"attack-plan"`
} `json:"attack-plans"`
}
type Attack_plan struct {
Attack_resources []struct {
Attack_resource *Attack_resource `json:"attack-resource"`
} `json:"attack-resources"`
}
誰でもお勧めしますか?データ構造を初期化する前に単純化する必要がある場合は、それも提案してください。私はgolangにとって非常に新しいので、従うべきベストプラクティスを無視してください。どんな助けもありがとうございます。ありがとう!
すべての構造体の値を保持するチェーンとして変数を作成しようとしました。しかし、私は "attackPlanは型ではなく、attackResourceは型ではありません"というエラーを受け取りました。 私は上記のようにある型の変数を別の型に代入することはできません。 =新しい(structs.GeneratePlan) attackPlan:=新しい(structs.Attack_plan) \t attackPlans:攻撃計画 \tを格納するため= [] // attackPlanスライスこれらは私が使用するコード、 計画のラインであります attackResource:= new(structs.Attack_resource) attackResources:= [] attackResource – Aishwarya
2つの匿名構造体には、1つのフィールドがあります。あなたは何らかの理由でそれらを必要としますか?その場合は、宣言を再配置してすべての構造体の名前を指定します。 –
@MellowMarmot どうすればいいですか?私はJSONファイルの値を格納するので、両方の構造体が必要です – Aishwarya