Как я могу прочитать данные 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
как описано здесь. Я бы просто попробовал это и посмотрел, работает ли это. Если это не так, вы можете попросить поставщика включить его.