Skip to content

Commit

Permalink
Merge pull request #3395 from lousyd/next
Browse files Browse the repository at this point in the history
clarify JSON standard non-compliance
  • Loading branch information
Airblader authored Sep 12, 2018
2 parents 1a6c971 + 3bfcbb8 commit 484854d
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions docs/layout-saving
Original file line number Diff line number Diff line change
Expand Up @@ -219,13 +219,15 @@ the window which matches any of the criteria. As an example:

A layout file as generated by +i3-save-tree(1)+ is not strictly valid JSON:

1. Layout files contain multiple “JSON documents” on the top level, whereas the
JSON standard only allows precisely one “document” (array or hash).
1. Layout files contain multiple “JSON texts” at the top level. The JSON
standard doesn't prohibit this, but in practice most JSON parsers only
allow precisely one “text” per document/file, and will mark multiple texts
as invalid JSON.

2. Layout files contain comments which are not standardized, but understood by
many parsers.
2. Layout files contain comments which are not allowed by the JSON standard,
but are understood by many parsers.

Both deviations from the JSON standard are to make manual editing by humans
Both of these deviations from the norm are to make manual editing by humans
easier. In case you are writing a more elaborate tool for manipulating these
layouts, you can either use a JSON parser that supports these deviations (for
example libyajl), transform the layout file to a JSON-conforming file, or
Expand Down

0 comments on commit 484854d

Please sign in to comment.