Проверить, существует ли структура внутри структуры

У меня есть канал json, и я пытаюсь проверить, существует ли структура внутри структуры.

type feed struct {
    Video          struct {
        Name string      `json:"name"`
    }   
}

И вот немаршальский процесс:

data:= &feed{}

err := json.Unmarshal([]byte(structuredData), data)
    if err != nil {
        return err
    }

В некоторых случаях Video существует, а в других нет. Я хотел бы проверить это в операторе if, что-то вроде if data.Video != nil, но это, похоже, не компилируется (я получаю invalid Operation). Как проверить, существует ли Video или нет?

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
0
97
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если действительное видео имеет непустое имя, используйте data.Video.Name != "", чтобы проверить действительное видео.

Если вы хотите определить, включен ли объект видео в JSON или нет, объявите тип с указателем на структуру:

type feed struct {
    Video          *struct {  // <-- note * on this line
        Name string      `json:"name"`
    }   
}

Декодер JSON выделяет внутреннюю структуру только в том случае, если в документе JSON есть объект видео.

Проверьте наличие объекта видео в документе JSON с помощью data.Video != nil.

Другие вопросы по теме