Is it possible to convert Java objects into Ballerina objects and/or JSON types? I want to use the POI Java package to read XLSX and make it available in Ballerina land as a record[] or json[] or something else.
Convert Java object to a Ballerina JSON value
70 views Asked by Ayesh Almeida At
1
There are 1 answers
Related Questions in BALLERINA
- Got a timeout error when I send an email using gmail:ClientConnector in ballerinalang
- Starting wso2 3.0.0 gateway windows "Could not load Logmanager"
- Ballerina java.jms: How to set up request reply communcation
- How to handle xml inside foreach? --> incompatible types: expected 'xml', found '(xml|string)'
- IOException when trying to run new ballerina project
- Ballerina "type 'json' does not support field access for assignment"
- How to pass a value to a method in an isolated object in Ballerina?
- Type narrowing doesn't work when a record defined with rest field
- How to include special characters like "-" in a resource path of a ballerina service
- Setting Time-To-Live and Expiration for RabbitMQ Queue in Ballerina Using RabbitMQ Client
- How can I mock a Ballerina HTTP Client when writing Ballerina unit tests?
- How can I prevent ResponseInterceptors from executing when using a RequestErrorInterceptor in Ballerina?
- `cannot resolve module` compilation errors after downgrading the Ballerina version
- How to build a Ballerina project with tests
- How to convert string to SQL Query
Related Questions in BALLERINA-SWAN-LAKE
- Error - "cannot infer type for parameter 'rowType'" when using the find function with MongoDB in Ballerina
- How to programatically determine if a function is isolated or not in Ballerina?
- Is there a way for a mock Function to return different values in subsequent calls?
- Open API generator - two generations, order is not same
- Ballerina dependencies are resolved for the latest available than what specified in Ballerina.toml
- How can I return a stream value in a http resource function in Ballerina?
- Facing compilation error while trying to import the package in Ballerina
- How to mock a function in a imported ballerina local module in unit test
- How to convert a data of `byte[]` coming from RabbitMQ broker into a record type in Ballerina
- Are string numeric literals with floating point suffix the valid CLI arguments in Ballerina?
- What is the use of `regexp:Groups` and how to access it in ballerina regexp?
- How to check if an object exists in an array in Ballerina
- Do we have dynamic code loading and execution support in Ballaerina?
- Should Asynchronous function calls be cancelled before wait if error occurs in Ballerina?
- Insights on the Access Log Format in Ballerina
Related Questions in BALLERINA-JAVA-INTEROP
- Convert Java object to a Ballerina JSON value
- How to pass java Map to a java function from ballerina?
- Issues calling Java from Ballerina
- Ballerina Java Cast Exception
- How to invoke user defined non-static Java method from Ballerina
- Ballerina java.lang.ClassNotFoundException while running module/project
- How to create a docker file for a Ballerina program which uses Java interoperability?
- Is there a way to use a java library in my ballerina project?
- Ballerina: undefined function 'getItemType' in type 'xml'
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?
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)
Yes, you can achieve this using Java interoperability and the bindgen tool to generate Ballerina objects corresponding to Java objects. Check out the following resources for more information:
However, note that there is no direct way to convert Java objects to Ballerina records or JSON types. Here are a couple of options:
If you have a string representation in JSON format, you can use the
fromJsonStringWithTypefunction to convert it to an array of JSON or records.You could create the Java representation of
json[]in an external function you implement (actual conversion would happen in Java). For example, creating aio.ballerina.runtime.api.values.BArrayvalue usingio.ballerina.runtime.api.creators.ValueCreator#createArrayValue.This approach involves more work since you'll have to create a new array type and recursively parse/map the values too.