当前位置:首页 > 技术分析 > 正文内容

x-cmd pkg | jc - 数据 JSON 化工具,轻松将文件内容转为 JSON 格式简介

ruisui883个月前 (01-23)技术分析12

简介

jc(JSON Convert) 是用 Python 开发的数据 JSON 化工具,用于将常见的命令行工具和数据文件的输出转化为 JSON、YAML 或 Dictionary 格式的数据,以便用户可以使用其他工具(如 jq、脚本语言等)处理和分析数据。

工作原理:针对每种支持的命令或数据格式设计一套定制化的解析规则,从而将复杂文本输出转化为标准的 JSON 数据。


快速上手

安装

eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
x env use jc                                # 使用 x-cmd 安装 jc

使用

1.将常用命令的输出转化为 JSON 格式的数据:

ls -l /bin | jc -p --ls

# "magic" 语法,相当于 `ping x-cmd.com -c 3 | jc -p --ping`
jc -p ping x-cmd.com -c 3

2.将常用数据格式文件的内容转化为 JSON 格式的数据:

x ascii --csv | jc -p --csv     # CSV 数据
cat example.ini | jc -p --ini   # ini 数据
cat /etc/hosts | jc -p --hosts  # /etc/hosts 文件数据,用于存储主机名与 IP 地址的映射关系

功能特点

  1. 支持多种命令和数据文件
    截止 jc 1.25.3 版本,它已支持 200 多种命令行工具和数据文件,如 ls 命令、ping 命令、ps 命令、csv 文件、ini 文件、xml 文件等。
  2. 易于集成
    使用简单,并可通过管道将其与其他工具结合使用,适合用于自动化脚本开发。

竞品和相关项目

  1. jq
    用可移植 C 开发的命令行 JSON 处理器,功能强大,能帮用户轻松分割、筛选、映射和转换 JSON 数据。
  2. yq
    一个 YAML 处理工具。该工具采用 Go 语言编写,设计参考 jq,支持 xpath 表达式,能处理 YAML、JSON、XML、CSV、TOML 等多种格式的数据。

进一步探索

  • jc 源代码:
    https://github.com/kellyjonbrazil/jc
  • jc - 使用示例:
    https://github.com/kellyjonbrazil/jc?tab=readme-ov-file#examples
  • Hacker News discussion:
    https://news.ycombinator.com/item?id=28266193


更多内容请查阅 : jc | x-cmd pkg | 数据 JSON 化工具,能将常见的命令行工具和数据文件的输出转化为 JSON、YAML 或 Dictionary 格式的数据
转载请标明原文链接 :https://www.x-cmd.com/pkg/jc


扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/477.html

分享给朋友:

“x-cmd pkg | jc - 数据 JSON 化工具,轻松将文件内容转为 JSON 格式简介” 的相关文章

HTML5学习笔记三:HTML5语法规则

1.标签要小写2.属性值可加可不加””或”3.可以省略某些标签 html body head tbody4.可以省略某些结束标签 tr td li例:显示效果:5.单标签不用加结束标签img input6.废除的标签font center big7.新添加的标签将在下一HTML5学习笔记中重点阐述。...

全新斯柯达柯珞克Karoq深度评测:大众替代品

“斯柯达柯珞克是一款出色的全能家庭 SUV,具有许多有用的功能”价格36,605 英镑- 49,190 英镑优点方便的 VarioFlex 后排座椅非常适合家庭入住驾驶乐趣缺点保修期短保守的内饰性格比Yeti少结论——斯柯达柯珞克是一辆好车吗?斯柯达柯珞克是在辉煌的七座 斯柯达柯迪亚克之后推出的,因...

一起学Vue:路由(vue-router)

前言学习vue-router就要先了解路由是什么?前端路由的实现原理?vue-router如何使用?等等这些问题,就是本篇要探讨的主要问题。vue-router是什么路由是什么?大概有两种说法:从路由的用途上来解释路由就是指随着浏览器地址栏的变化,展示给用户的页面也不相同。从路由的实现原理上来解释路...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...

Ruoyi-vue第五十二章:Uniapp小程序配置tabbar底部导航栏

一、功能实现效果如下图底部的tabbar二、uniapp的tabBar如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定一级导航栏,以及 tab 切换时显示的对应页。在 pages.json 中提供 tabBar 配置,不仅仅是为了方便快速开发导航,更重要的是在App和小程序端提升性...

微信小程序发展越来越快,Flutter应用开发越来越低效?

目前的疑惑微信小程序发展的越来越快,目前小程序甚至取代了大部分 App 的生态位,公司的坑位不增反降,只能让原生应用开发兼顾或换岗进行小程序的开发。以我的实际情况来讲,公司应用采用的 Flutter 框架,同样的功能不可避免的就会存在 Flutter 应用开发和微信小程序开发兼顾的情况,这种重复造轮...