Data from nRF Util flows as a sequence of JSON messages. Each message appears as a single JSON object on a single line. All messages follow a common format:
{"type":[task_begin|task_end|task_progress|info|log]
"data": { ... }}
type parameter can have the following message types:
task_begin- Indicates that a task with progress status updates has started.task_end- Indicates that a task has ended.task_progress- Indicates a progress update to a task.info- Indicates a general info message containing arbitrary data.log- Indicates a log message, emitted when you use--log-output=stdout.
The task_* messages correspond to the progress bars and progress spinners rendered when not using the --json flag and indicate that a long-running task is in progress.
The info message conveys general information. For example, nrfutil search --json uses the info message to convey the list of installable commands in JSON, and nrfutil device list --json uses the info message to list device information in JSON. To output the data payload only, add the flag --skip-overhead.
The main data payload in the JSON messages exists within the data field. The task messages share some common fields across different contexts. The fields for the info messages vary from context to context. Investigate the fields manually when building applications on top of the JSON messages.
Standard semantic versioning guarantees apply for the JSON output formats across the different commands. Releases of the commands within the same major version number have backward-compatible JSON messages.