I would like to represent a lightweight ordered graph in javascript object notation. For example, consider this simple HTML tree:
One way of representing it in JSON is:
var html = { head: { title: 'Greeting' }, body: { p: 'Hello digital world!', p: 'This is hypertext' } } }
This lets me write html.head.title == 'Greeting'
. However, the p
elements overwrite each other, so the Hello digitial world!
string is lost. That could be fixed as:
var html = { head: { title: 'Greeting' }, body: { p: [ 'Hello digital world!', 'This is hypertext' ] } }
Which lets me write html.body.p[0] == 'Hello digital world!'
. Unfortunately, JSON objects are unordered, so when iterating, the order may be different than the original.
Apparently, all the browsers return them in order, however.