В моей системе есть несколько узлов, которые обмениваются данными через RPC. Я пытаюсь отправить интерфейс карты [string] {} на другой узел через RPC. Отправитель использует json.Marshal и приемник использует json.Unmarshal для получения карты. Скажем, на стороне отправителя карта содержит [1] => 2, где 2 имеет тип uint32.
Проблема заключается в том, что Unmarshal пытается найти тип базовых данных и преобразует 2 в тип float64 в соответствии со своим поведением по умолчанию, как указано здесь https://blog.golang.org/json-and-go. Позже, литье float64 в uint32 вызывает панику.Как развязать интерфейс {} с интерфейсом {} в Go
Я ссылался на How to unmarshal json into interface{} in golang?. Но для этого нам нужно знать тип данных. В моем случае данные могут быть любого типа, поэтому я хочу сохранить его как интерфейс {}. Как я могу развязать интерфейс {} с интерфейсом {}?