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
Size: 7096
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Jsonix advantages:
See also the other Jsonix features.
Here's a working example for the purchase order schema (try it online in JSFiddle).
-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
.
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
.
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
.
package.json
can be found hereJsonix is developed with WebStorm, the smartest JavaScript IDE.
Many thanks to JetBrains for providing a free open-source license for Jsonix development.