[x3d-public] Getting JSON that works, Canonical JSON

John Carlson yottzumm at gmail.com
Fri Mar 27 08:19:16 PDT 2026


To be clear:

.x3d->x3d-tidy->.x3dj->X3DJSONLD->DOM->Serializer->Java,
etc.->X3DJSAIL/stylesheets->XML, JSON, (more?) probably won’t work in many
cases, due to DEF/USE reordering within SFNode field reordering.  I am not
saying the .x3dj files are bad files.

x3d->X3dToJson.xslt->.json->X3DJSONLD->DOM->Serializer->Java,
etc.->X3DJSAIL/stylesheets->XML,
JSON, (more?) probably will work.

Using Canonical form might solve this issue.  But what is canonical JSON?

Specific ordering issues that that have come up include head statements,
HAnimHumanoid and HAnimSegment nodes.

Please try to ensure that the authors ordering is preserved, or use
canonical form.

Note that X3DJSONLD *should* act like a pass through.  But further work to
achieve canonical form may be desired.

X3DJSAIL/stylesheets should stick with canonical form, if it uses it, but
warn of potential DEF/USE reordering, if it can’t handle DEF/USE reordering
under canonicalization.

x3d-tidy should also stick with canonical form, or not modify canonical
form or alternatively, author’s intent.

Does this seem reasonable?

John

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20260327/0a6612d7/attachment.html>


More information about the x3d-public mailing list