Ion-JS is a Javascript library for Ion. The library allows for reading/writing Ion data from within Javascript code.
For more information on Ion have a look at the Ion Specification as well as some of the other Ion language specific libraries such as
The current release on master branch is beta supported at this time.
Types | IonText | IonBinary | Limitations |
---|---|---|---|
null | yes | no | none |
bool | yes | no | none |
int | yes | no | underscores, binaryints, bigints |
float | yes | no | underscores |
decimal | yes | no | large fractions are slow roundtrip |
timestamp | yes | no | fractional seconds are slow on large fractions |
string | yes | no | none |
symbol | yes | no | sid0, no symboltokens |
blob | no | no | broken |
clob | yes | no | backed by string |
struct | yes | no | none |
list | yes | no | none |
sexp | yes | no | none |
annotations | yes | no | none |
local symbol tables | yes | no | none |
shared symbol tables | yes | no | user marshals symboltables into the catalog themselves |
Github Issues |
---|
SymbolTokens |
IVM |
Numbers |
Utf8/32/64 |
Blobs |
Triplequotes |
Binary |
You can use ion-js either as a Node.js module or inside an html page.
- Add
ion-js
to your dependencies usingnpm
npm install --save-dev ion-js
- Use the library to read/write ion data. Here is an example that reads Ion data from a Javascript string
Try it yourself.
var ionJs = require("ion-js") var ionData = "{ hello: \"Ion\" }"; var ionReader = ionJs.makeReader(ionData); ionReader.next(); ionReader.stepIn(); ionReader.next(); var hello = ionReader.fieldName(); var ion = ionReader.stringValue(); ionReader.stepOut(); console.log(ion.concat(", ").concat(hello));
You can include the Ion-js bundle (ES5 compatible) using the URLs
These will create and initialize window.ion
which has the exact API as our npm
package. Here is an example
<html>
<head>
<meta charset="UTF-8"/>
<script src="scripts/ion-bundle.min.js"></script>
<!-- more HTML/JS code that can now use `window.ion` to create/write Ion -->
</head>
</html>
- Ion
- Ion Specification
- Ion Cookbook uses the Java library for its examples.
- Ion C
- Ion Java
- Ion Python