Skip to content

Enhance "JSON" documentations with new columns: "requirement level", "data type" #533

@sappelhoff

Description

@sappelhoff

Whenever we describe JSON files in the BIDS specification, we usually do it using a FieldName and a Definition column (see e.g., dataset_description.json):

FieldName Definition
Authors OPTIONAL. List of individuals who contributed to the creation/curation of the dataset.

In terms of JSON, the FieldName is relatively uncontroversial. It must be a key in the JSON file, formatted like this:

{
  "Authors": 
}

However, what's happening in Definition is a lot more to handle. I suggest to change the way we describe JSON files to the following:

FieldName Req. Level Datatype Definition
Authors OPTIONAL array of string List of individuals who contributed to the creation/curation of the dataset.
  • This would make it easier to parse the requirement level (optional, required, recommended)
  • This would make clear how to format the field ... solving and preventing issues like RepetitionTime type in bold.json not specified. #516 --> also, bids-validator devs can more easily adopt the spec in terms of JS code

I propose this enhancement "as is" ... but for the future, we may also consider turning these tables into YML format, like @tsalo is currently doing with the entity table in #475 (BTW: please review that PR!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    formattingAesthetics and formatting of the spec

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions