Да. Этого можно достичь. Вам нужно будет сериализовать данные со стороны клиента и отправить сериализованные данные на сервер. На стороне сервера десериализуйте полученные данные, чтобы получить исходную структуру данных.
Есть несколько библиотек, которые облегчают это. Экономия является одним из таких примеров. Существуют и другие библиотеки, такие как Avro, Protobuf и т. Д. Вы можете поэкспериментировать с несколькими из них и выяснить, что лучше всего соответствует вашим требованиям.
Эти библиотеки обычно используют Язык определения интерфейса для определения интерфейса, который может включать службы и структуры данных. Затем они могут генерировать код на нескольких языках, чтобы вы могли использовать интерфейс.
Для справки, я лично использовал thrift для связи между сервером C ++ и клиентом Javascript. Работает нормально.