Пример:Горм: JSON из JSON не работает
{
"id": 1
"data": {"1": 2}
}
Struct определение:
type Item struct {
id int `json:"id"`
data interface{} `json:"data"`
}
мне нужно разобрать полезную нагрузку от HTTP POST, так что я использовал interface{}
для data
, json.Unmarshal()
успешно , но gorm производит ошибку при вызове db.Create(item)
:
(sql: converting Exec argument #5's type: unsupported type map[string]interface {}, a map)
Вместо этого я изменяю от interface{}
до string
, вызывая json.Unmarshal()
для разбора полезной нагрузки json POST.
unmarshal type error: expected=string, got=object
В принципе, один требует interface{}
, один требует string
.
Кто-нибудь сталкивался с этим?
Прежде всего, ** как это не работает? ** Что происходит? Во-вторых, я не эксперт Go, но разве не было бы смысла, что вторая аннотация читала 'json:" data "'? – Jules
Спасибо за предложение. –
Если это работает с уже существующей базой данных, есть ли вероятность возникновения конфликта типа между полем данных и соответствующим полем базы данных? – Jules