구조체에 아래 형식의 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