Баг в RPC Json?

34 views
Skip to first unread message

Павел Кочетов

unread,
Mar 9, 2017, 8:36:40 PM3/9/17
to Golang Russian
Собственно накидал код

Суть проста - есть RPC сервер и клиент. В структуре у клиента "RPCClientObject" поля для json имеют описание, в плане для преобразования наименований полей на другие. Проблема кроется в ValueName string `json:"value_name"`
То есть сервер корректно работает для поля Id, а для поля ValueName возвращается пустое значение. При этом, если изменить строку ValueName string `json:"value_name"` на, например, ValueName string `json:"valueName"`, то всё начинает работать корректно. То есть если `ValueName` имеет то же название без учета регистра, то работает корректно. Если переименовать на любое другое, то всё ломается.
В encoding/json если преобразовывать, там всё хорошо, можно задавать любые наименования. А в RPC есть, как понимаю, бага.

Может кто-нибудь разъяснить что здесь происходит? если действительно бага, может кто-нибудь написать багрепорт? сам я толком даже на русском языке не могу нормально объяснить суть проблемы ))

Павел Кочетов

unread,
Mar 9, 2017, 9:04:34 PM3/9/17
to Golang Russian
разобрался. дали подсказку на официальном IRC. Нужно и на структуре RPCServerObject тоже аналогично делать описание полям.
// server
type RPCServerObject struct {
Id uint64 `json:"id"`
ValueName string `json:"value_name"`"
}
// client
type RPCClientObject struct {
Id uint64  `json:"id"`
ValueName string `json:"value_name"`"
}

то есть так называемые тэги должны соответствовать.

пятница, 10 марта 2017 г., 11:36:40 UTC+10 пользователь Павел Кочетов написал:
Reply all
Reply to author
Forward
0 new messages