Как я могу прочитать данные JSON из C++ через Java, используя определение piqi

Мы используем сторонний веб-сервис REST, который определяет их json API, используя схемы piqi. Наша текущая архитектура требует, чтобы эти данные были прочитаны через клиент Java и переданы в двоичный файл C++. В идеале я хотел бы, чтобы все POJO и структуры C++, а также логика преобразования данных (json->java, java-> C++) генерировались. Я изучал различные комбинации протобуфа, протостуфа и бережливости, но в потоке все еще есть пробелы. У кого-нибудь есть предложения?

1 ответ

Автор Piqi здесь. Скорее всего, сторонний поставщик API предоставляет API JSON over HTTP, используя piqi-rpc. Предполагая, что у вас есть актуальная .piqi В определениях сервиса есть вероятность, что вы можете получить выходные данные и / или отправить входные данные в формате Protocol Buffers вместо JSON. Работа с Protobuf как на Java, так и на C++ намного проще и надежнее, чем работа с JSON.

Если поставщик API явно не отключит использование буферов протокола в качестве формата ввода / вывода, вы сможете использовать этот формат, установив Accept заголовок (и Content-Type для входных параметров) в application/x-protobuf как описано здесь. Я бы просто попробовал это и посмотрел, работает ли это. Если это не так, вы можете попросить поставщика включить его.

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