jc

Original🇺🇸 English
Translated

Converts CLI output to JSON for structured processing and analysis. Use when parsing ps, dig, netstat, ls, or other command output into machine-readable format for piping to jq or scripts.

2installs
Sourceknoopx/pi
Added on

NPX Install

npx skill4agent add knoopx/pi jc

jc

JSONifies the output of CLI tools and file-types for easier parsing.

Basic Usage

bash
command | jc --parser          # Pipe output
jc command                    # Magic syntax
jc --help                     # List all parsers
jc --help --parser            # Parser docs

Examples

bash
dig example.com | jc --dig | jq '.answer[].data'
ps aux | jc --ps
ifconfig | jc --ifconfig

Parsers

CategoryParsers
System
ps
,
top
,
free
,
df
,
du
,
ls
,
stat
,
uptime
Network
dig
,
ping
,
traceroute
,
netstat
,
ss
,
ifconfig
Files
ls
,
find
,
stat
,
file
,
mount
,
fstab
Packages
dpkg -l
,
rpm -qi
,
pacman
,
brew
Logs
syslog
,
clf
(Common Log Format)
Dev
git log
,
docker ps
,
kubectl

Options

FlagDescription
-p
Pretty format JSON
-r
Raw output (less processed)
-u
Unbuffered output
-q
Quiet (suppress warnings)
-d
Debug mode
-y
YAML output
-M
Add metadata
-s
Slurp multi-line input

Slicing

Skip lines:
START:STOP
syntax
bash
cat file.txt | jc 1:-1 --parser  # Skip first/last lines

Slurp Mode

For multi-line parsers:
--slurp
outputs array
bash
cat ips.txt | jc --slurp --ip-address

Python Library

python
import jc

# Parse command output
data = jc.parse('dig', output_string)

# Or parse directly
data = jc.parsers.dig.parse(output_string)

Tips

  • Magic syntax:
    jc command
    auto-detects parser
  • Use
    jq
    for processing:
    jc cmd | jq '.field'
  • --slurp
    for multiple items per file
  • Streaming parsers for large outputs
  • Python lib returns dict/list, not JSON

Related Skills

  • nu-shell: Alternative structured data processing
  • toon: Compact JSON representation