Benutzer-Werkzeuge

Webseiten-Werkzeuge


fileformats:json

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:

<CalcGroup name="...">
     ...
     <output labelset="output.xml"/>
</CalcGroup>

The output format itself is defined in the labelset file:

<LabelSet name=...>
     <Labels name="Test" mimeType="text/x-json" fileSuffix="json" basefile="true">
        ...
     </Labels>
     ...
</LabelSet>

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 Hadoop convention. Hadoop and Spark use this format to make sure, splits work properly in a cluster environment. For those new to 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.

fileformats/json.txt · Zuletzt geändert: 2018/01/09 10:45 von oliver