====== Json data format ====== The ".json"-fileformat is a human readable object oriented format. In the context of analysing motion data it is mainly usful for import/export. The fileformat is not very compact, so you can expect very big files and it is time consuming to work with them. **MimeType:** text/x-json **Default File Suffix:** .json **Comments** Reading of json-files is not yet implemented. ==== Output of processed motion data ==== In the "job configuration" the processing output file format is defined by a labelset file: ... The output format itself is defined in the labelset file: ... ... The conent of a Json output file looks like the following: { "trial": { "frames": [{},{},...], "phases": [{"name": "RStride", "start": 100, "end": 200},...], "events": [{"name": "RHS", "pos": 100},...] } } ==== Comments ==== * Phases- or events-objects are saved only, if phases or events are available. * At the time, not all informations saved in a trial are exported into Json-files. Missing parts can be added easy if needed. * NaN double values are written - against the Json standard - as "NaN". ==== Output of exported motion data ==== The Output of motion data exported into the json-format is different to the data saved after processed data: Each line is a valid JSON entry without separator at the end. This is similar to other readers and follows [[http://hadoop.apache.org|Hadoop]] convention. [[http://hadoop.apache.org|Hadoop]] and [[http://spark.apache.org/|Spark]] use this format to make sure, splits work properly in a cluster environment. For those new to [[http://hadoop.apache.org|Hadoop]] file format convention, the reason is a large file can be split into chunks and sent to different nodes in a cluster. If a record spanned multiple lines, split might not get the complete record, which will result in runtime errors and calculation errors. Where and how a job splits a file varies depending on the job configuration and cluster size. === Example === {"T":3.2416666666666667,"ddHeight":14.934731608645043} {"T":3.25,"ddHeight":15.36967956700511} {"T":3.2583333333333333,"ddHeight":18.539007468953184} {"T":3.2666666666666666,"ddHeight":25.623373268847278} {"T":3.275,"ddHeight":35.752522626800086} {"T":3.283333333333333,"ddHeight":46.12983110537536} {"T":3.2916666666666665,"ddHeight":52.955837424588786} {"T":3.3,"ddHeight":52.67600757207088} {"T":3.308333333333333,"ddHeight":43.10764808456153} {"T":3.3166666666666664,"ddHeight":24.31045834393331} {"T":3.3249999999999997,"ddHeight":-0.8832559527070716} {"T":3.3333333333333335,"ddHeight":-27.13078708811163} {"T":3.341666666666667,"ddHeight":-48.096471956424814} {"T":3.35,"ddHeight":-58.79646541630221} {"T":3.3583333333333334,"ddHeight":-57.41101652232201} {"T":3.3666666666666667,"ddHeight":-45.426316458127665} {"T":3.375,"ddHeight":-26.23458332211291} {"T":3.3833333333333333,"ddHeight":-3.462568987803557} If in the Export UI the "labelset name" and the "labelgroup name" is defined, than the "labelgroup name" is interpreted as a phase type name and only the frames of the given phase are exported.