We use a 3rd party REST web service which defines their json API using piqi schemas. Our current architecture needs this data to be read through a java client and transferred to a c++ binary. Ideally, I would like all of the POJOs and c++ structs, as well as the data translation (json->java, java->c++) logic to be generated. I've been investigating different combinations of protobuf, protostuff, and thrift, but there are still gaps in the flow. Anyone have suggestions?
How can I read JSON data from C++ through Java using a piqi definition
633 Views Asked by Ajay At
1
There are 1 best solutions below
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in C++
- How to immediately apply DISPLAYCONFIG_SCALING display scaling mode with SetDisplayConfig and DISPLAYCONFIG_PATH_TARGET_INFO
- Why can't I use templates members in its specialization?
- How to fix "Access violation executing location" when using GLFW and GLAD
- Dynamic array of structures in C++/ cannot fill a dynamic array of doubles in structure from dynamic array of structures
- How do I apply the interface concept with the base-class in design?
- File refuses to compile std::erase() even if using -std=g++23
- How can I do a successful map when the number of elements to be mapped is not consistent in Thrust C++
- Can std::bit_cast be applied to an empty object?
- Unexpected inter-thread happens-before relationships from relaxed memory ordering
- How i can move element of dynamic vector in argument of function push_back for dynamic vector
- Brick Breaker Ball Bounce
- Thread-safe lock-free min where both operands can change c++
- Watchdog Timer Reset on ESP32 using Webservers
- How to solve compiler error: no matching function for call to 'dmhFS::dmhFS()' in my case?
- Conda CMAKE CXX Compiler error while compiling Pytorch
Related Questions in PROTOCOL-BUFFERS
- Custom rewriter for json
- Cannot resolve method 'merge(String, Builder)' on JsonFormat after upgrading protobuf-java-util from 3.25.3 -> 4.26.0
- "No map fields found in com.google.cloud.compute.v1.Instance" error when getting instances in Google Cloud API Java
- How can I decode a Protocol Buffer that uses NanoPB?
- Is it possible to add a "this is what you should use" message when deprecating a Protocol buffer field?
- File passthrough in Meson project
- Least Connection Load balancing using Grpc
- Fatal Exception: java.lang.VerifyError when using Datastore with my own data class on some devices
- using gdscript procotcol buffers
- Use google.api.field_behavior with protoc-gen-ts_proto
- Unmarshalling json into protobuf having oneof type
- How can I export Pub/Sub messages using a Protobuf schema to a GCS bucket?
- Whats the proper way to fill a recyclerView with data from a proto datastore
- Having shared swagger (openapi) type definitions alongside with protobuf ones
- Errors with reading GTFS tripupdates.pb real time data using get() function
Related Questions in THRIFT
- How do I compile a portable thrift library
- DDIA Thrift CompactProtocol encoding
- TException:MISSING_RESULT thrift exception on T_COMPACT_PROTOCOL asynchrounsly thrift client call
- How to check if the Thrift is working on HBase version 2.5 and How to indicate if Thrift 1 or Thrift 2 is installed?
- Is Linux Socket send timeout means peer did not recv one byte data or did not finish recv all data in timeout duration?
- C++ thrift server: build error "undefined reference to `vtable for MessageProcessorFactory'"
- How should multiple value thrift of Java enumeration class be defined?
- Is it possible to change the unused thrift field and change its type?
- Connection timeout on identification
- How to get (properly) rid of Thrift Compiler Warnings?
- Generate json with custom comments from Thrift contract
- Standalone program runs on python 3.9 to connect hive using pyhive but AWS lambda throws No module named 'sasl.saslwrapper'
- Is apache thrift 0.18.0 compatible with openssl 3.0?
- g++: error: /usr/lib/x86_64-none/libboost_unit_test_framework.a: No such file or directory
- eBPF sk_skb programs lead to connection issues for Thrift RPCs
Related Questions in PROTOSTUFF
- Protostuff cannot be converted into Protobuf bytes?
- how to define in java class to matches the proto blank field definition?
- Using Protostuff on Android causes RuntimeException because of missing sun.reflect.ReflectionFactory
- Problem with Import object_detection/protos/image_resizer.proto but not used protobuf compilation in OS High Sierra
- Is it possible to configure protocol buffers / protostuff to not generate the default empty constructor for a message?
- Attempting to make an algorithm that translates to different numerical bases
- Protostuff runtime schema and polymorphism issues
- Backward Compatibility when adding a field in response of an API
- Protostuff serialize object like Map<String, Map<String, String>>
- How to add field into class with deserialization compatibility using Protostuff?
- RuntimeSchema in Protostuff cyclic references?
- How to tell protostuff to pack property to fixed32 and not int32
- Is adding fields at the end of a java class always safe when using Protostuff default RuntimeSchema?
- what is the most efficient way to serialize primitive type array by protostuff
- Issue in deserialize protostuff object in Kafka Consumer
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Piqi author here. Most likely the third-party API provider exposes the JSON over HTTP API using piqi-rpc. Assuming you have the up-to-date
.piqidefinitions of the service there's a chance you can get output and/or send input data in Protocol Buffers format instead of JSON. Dealing with Protobuf in both Java and C++ is a lot easier and more reliable than dealing with JSON.Unless the API provider explicitly disables use of Protocol Buffers as input/output format, you should be able to use this format by setting
Acceptheader (andContent-Typefor input parameters) toapplication/x-protobufas described here. I would just try that and see if it works. If it doesn't you can ask the provider to turn it on.