Package Exports
- vdom-as-json
- vdom-as-json/fromJson
- vdom-as-json/toJson
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vdom-as-json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
vdom-as-json

Convert virtual-dom objects to and from JSON. Designed for generating patches on the server or in a web worker and then sending that to the client. Can convert virtual trees, nodes, and patches.
Install
npm install vdom-as-json
If you need an AMD or browser-ready version, please use dist/vdom-as-json.js
when you npm install
, or download from wzrd.in. It will give you a global vdomAsJson
object.
Usage
var toJson = require('vdom-as-json/toJson'); // convert node/patch to JSON
var fromJson = require('vdom-as-json/fromJson'); // rehydrate node/patch from JSON
Examples
Convert a node to and from JSON
var h = require('virtual-dom/h');
var toJson = require('vdom-as-json/toJson');
var fromJson = require('vdom-as-json/fromJson');
var node = h("div", "hello");
// convert the node to json
var json = toJson(node);
// re-hydrate the node from json
var rehydratedNode = fromJson(json);
Convert a patch to and from JSON
var h = require('virtual-dom/h');
var diff = require('virtual-dom/diff');
var toJson = require('vdom-as-json/toJson');
var fromJson = require('vdom-as-json/fromJson');
var node1 = h("div", "hello");
var node2 = h("div", "goodbye");
var patch = diff(node1, node2);
// convert the patch to json
var json = toJson(patch);
// re-hydrate the patch from json
var rehydratedPatch = fromJson(json);
Stringify and parse
The API returns pure JSON objects. So if you need strings, then use JSON.parse()
and JSON.stringify()
:
var h = require('virtual-dom/h');
var diff = require('virtual-dom/diff');
var toJson = require('vdom-as-json/toJson');
var fromJson = require('vdom-as-json/fromJson');
var node1 = h("div", "hello");
var node2 = h("div", "goodbye");
var patch = diff(node1, node2);
// convert the patch to a string
var jsonString = JSON.stringify(toJson(patch));
// re-hydrate the patch from a string
var rehydratedPatch = fromJson(JSON.parse(jsonString));
Standalone
Using browserify/webpack:
var toJson = require('vdom-as-json').toJson;
var fromJson = require('vdom-as-json').fromJson;
Using the standalone browser bundle (dist/vdom-as-json.js
):
var toJson = vdomAsJson.toJson;
var fromJson = vdomAsJson.fromJson;