以下の形式のjsonデータを構造体にアンマーシャリングする際に問題が発生しています。 jsonの構造は少し混乱しているように見えるので、私はそれを非整列化するためにやっているすべての愚かなことに対して謝ります。Golangが未知のキーでネストされたjsonを非整列化する
{
"message": {
"Server1.example.com": [
{
"application": "Apache",
"host": {
"name": "/^Server-[13456]/"
},
"owner": "User1",
"project": "Web",
"subowner": "User2"
}
],
"Server2.example.com": [
{
"application": "Mysql",
"host": {
"name": "/^Server[23456]/"
},
"owner": "User2",
"project": "DB",
"subowner": "User3"
}
]
},
"response_ms": 659,
"success": true
}
次の構造体を使用して非整列化しようとしています。
type ServerDetails struct {
Message struct{
Hostname struct{
Details struct{
Application string `json:"application"`
}`json:"-"`
}`json:"-"`
}`json:"message"`
}
フィールドServer[0-9].example.com
は、ちょうど外に鍵を持っていないサーバー名の後に
{
"application": "Apache",
"host": {
"name": "/^Server-[13456]/"
},
その発生の時点では不明となり、変更されており、この分野があります再び私に混乱しているように見えます。どのようにアンマーシャリングすることができるかを理解するために、数多くの組み合わせを試しましたが、失敗しました。
jsonフィールドを構造体に非マーシャル化する作業アプローチは何ですか?誰かが私にこれを理解させるのを助けることができます
ありがとうございます。
さまざまなキーでオブジェクトを非整列化するには、 'map [string] whateverstruct'を使用します。 – Volker
ありがとう@ヴォルカー、あなたは私の日を救った。私はそれに応じて修正し、それは働いた。あなたはそれを答えとして追加できますか?それを受け入れますか? – scott