boundlessgeo/jsonix

Name: jsonix

Owner: Boundless

Description: Powerful XML<->JSON JavaScript mapping library.

Forked from: highsource/jsonix

Created: 2017-05-29 14:27:34.0

Updated: 2017-05-29 14:27:36.0

Pushed: 2017-06-01 11:20:31.0

Homepage:

Size: 7096

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Jsonix

Jsonix advantages:

See also the other Jsonix features.

Example

Here's a working example for the purchase order schema (try it online in JSFiddle).

Generate mappings
 -jar node_modules/jsonix/lib/jsonix-schema-compiler-full.jar
 mappings -p PO purchaseorder.xsd

Generates mappings for the purchaseorder.xsd schema in the mappings\PO.js; mappings will be placed in the variable PO.

Parse XML into JS
nclude or require PO.js so that PO variable is available
or instance, in node.js:
PO = require('./mappings/PO').PO;

irst we construct a Jsonix context - a factory for unmarshaller (parser)
nd marshaller (serializer)
context = new Jsonix.Context([PO]);

hen we create a unmarshaller
unmarshaller = context.createUnmarshaller();

nmarshal an object from the XML retrieved from the URL
rshaller.unmarshalURL('po.xml',
// This callback function will be provided
// with the result of the unmarshalling
function (unmarshalled) {
    // Alice Smith
    console.log(unmarshalled.value.shipTo.name);
    // Baby Monitor
    console.log(unmarshalled.value.items.item[1].productName);
});

You can also unmarshalString, unmarshalDocument and (under node.js) unmarshalFile.

Serialize JS as XML
reate a marshaller
marshaller = context.createMarshaller();

arshal a JavaScript Object as XML (DOM Document)
doc = marshaller.marshalDocument({
name: {
    localPart: "purchaseOrder"
},
value: {
    orderDate: { year: 1999, month: 10, day: 20 },
    shipTo: {
        country: "US",
        name: "Alice Smith",
        street: "123 Maple Street",
        city: "Mill Valley",
        state: "CA",
        zip: 90952
    },
    billTo: { /* ... */ },
    comment: 'Hurry, my lawn is going wild!',
    items: { /* ... */ }
}

You can also marshalString.

Jsonix Features
Documentation
Credits

Logo WebStorm

Jsonix is developed with WebStorm, the smartest JavaScript IDE.
Many thanks to JetBrains for providing a free open-source license for Jsonix development.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.