For more inspiration:
- wikibase-edit already uses a JS/JSON representation of edits. It should be feature complete (supporting ranks, snaktypes, and all)
- QuickStatements format can be converted to the wikibase-edit format via the lib quickstatements-to-wikibase-edit
- There is also an ongoing experimentation to add a reconciliation syntax to the wikibase-edit format