community.general.jc filter – Convert output of many shell commands and file-types to JSON
Note
This filter plugin is part of the community.general collection (version 10.7.5).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.general.
You need further requirements to be able to use this filter plugin,
see Requirements for details.
To use it in a playbook, specify: community.general.jc.
New in community.general 1.1.0
Synopsis
- Convert output of many shell commands and file-types to JSON. 
- Uses the jc library. 
Requirements
The below requirements are needed on the local controller node that executes this filter.
- jc installed as a Python library (https://pypi.org/project/jc/) 
Input
This describes the input of the filter, the value before | community.general.jc.
| Parameter | Comments | 
|---|---|
| The data to convert. | 
Positional parameters
This describes positional parameters of the filter. These are the values positional1, positional2 and so on in the following
example: input | community.general.jc(positional1, positional2, ...)
| Parameter | Comments | 
|---|---|
| The correct parser for the input data. For example  Note: use underscores instead of dashes (if any) in the parser module name. See https://github.com/kellyjonbrazil/jc#parsers for the latest list of parsers. | 
Keyword parameters
This describes keyword parameters of the filter. These are the values key1=value1, key2=value2 and so on in the following
example: input | community.general.jc(key1=value1, key2=value2, ...)
| Parameter | Comments | 
|---|---|
| Set to  Choices: 
 | |
| Set to  Choices: 
 | 
Notes
Note
- When keyword and positional parameters are used together, positional parameters must be listed before keyword parameters: - input | community.general.jc(positional1, positional2, key1=value1, key2=value2)
Examples
- name: Install the prereqs of the jc filter (jc Python package) on the Ansible controller
  delegate_to: localhost
  ansible.builtin.pip:
    name: jc
    state: present
- name: Run command
  ansible.builtin.command: uname -a
  register: result
- name: Convert command's result to JSON
  ansible.builtin.debug:
    msg: "{{ result.stdout | community.general.jc('uname') }}"
  # Possible output:
  #
  # "msg": {
  #   "hardware_platform": "x86_64",
  #   "kernel_name": "Linux",
  #   "kernel_release": "4.15.0-112-generic",
  #   "kernel_version": "#113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020",
  #   "machine": "x86_64",
  #   "node_name": "kbrazil-ubuntu",
  #   "operating_system": "GNU/Linux",
  #   "processor": "x86_64"
  # }
Return Value
| Key | Description | 
|---|---|
| The processed output. Returned: success | 
