User Tools

Site Tools


Syntax

The DSON file format has a text and a binary form. Text formats are generally easier to debug during development and content crafting, and binary is generally more efficient to transmit. The binary format is merely a zlib compressed (aka “zipped”) version of the text format.

JSON is used as the file format syntax. JSON was chosen as it is lighter weight than XML, and a standard used throughout the web for data transmission. There exist parsers for it in JavaScript, C++, C#, as well as many other languages. It is also a very simple language to write a new parser for should existing ones not fit a given need.

For the rest of the document, elements of the scene file will be presented in JSON notation, which can be found at the JSON website: http://www.json.org.

As a quick summary, an object is written as:

{
    "key" : value,
    "key2" : value
}

An array is written as:

[ value, value, value ]

A value can be a string, float, object, array, null, true, or false.

Unless otherwise noted, all child elements of an element must appear in the order specified, if they are present.

Within the root file object (the DAZ object) there are several properties named *_library. These are simply arrays of asset definitions of a given type.