Linux运维之json文件操作

IT科技2025-11-05 09:29:33479

Json数据格式化

json是维之文件一种轻量级的数据交换格式,应用范围非常广泛。操作在Linux系统下使用jq工具可以非常方便的维之文件处理json

复制[root@knode1 ~]# cat k8s.conf{"hosts": {"host_list": [ {"hostname": "host1", "ip": "10.1.251.1", "username": "aps", "password": "tingsoft", "ssh_port": 22}, {"hostname": "host24", "ip": "10.1.251.2", "username": "aps", ssword": "tingsoft", "ssh_port": 22} ], "sshkey_enable": false, "data_dir": "/opt", "src":"/etc/localtime", "dest": "/etc/timezone", "port": "8080" } }1.2.

在linux上安装jq工具

复制[root@knode1 ~]# yum -y install jq1.

将上面k8s.conf文件用json格式展示,提高可读性

方法一:cat filename.conf | jq 复制[root@knode1 ~]# cat k8s.conf | jq

{

"hosts"

: {

"host_list"

: [

{

"hostname": "host1"

,

"ip": "10.1.251.1"

,

"username": "aps"

,

"password": "tingsoft"

,

"ssh_port": 22

},

{

"hostname": "host24"

,

"ip": "10.1.251.2"

,

"username": "aps"

,

"password": "tingsoft"

,

"ssh_port": 22

}

],

"sshkey_enable": false

,

"data_dir": "/opt"

,

"src": "/etc/localtime"

,

"dest": "/etc/timezone"

,

"port": "8080"

}

}1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.

jq工具会把json文件更有好的读取出来,此外,操作jq工具还在背后检查json文件的服务器租用维之文件合法性,如果文件存在格式上的操作错误,jq也会报出错误存在的维之文件位置

方法二:cat filename.conf |  python -m json.tool

python -m json.tool这种方法需要服务器上安装python,效果和jq一样,操作也会校验数据合法性,维之文件出现格式报错会报出位置

复制[root@knode1 ~]# cat k8s.conf | python -m json.toolExpecting object: line 1 column 343 (char 342)1.2.

Json数据读取

通过Key获取Value的WordPress模板操作值 复制[root@knode1 ~]# cat k8s.conf | jq .hosts

{

"host_list"

: [

{

"hostname": "host1"

,

"ip": "10.1.251.1"

,

"username": "aps"

,

"password": "tingsoft"

,

"ssh_port": 22

},

{

"hostname": "host24"

,

"ip": "10.1.251.2"

,

"username": "aps"

,

"password": "tingsoft"

,

"ssh_port": 22

}

],

"sshkey_enable": false

,

"data_dir": "/opt"

,

"src": "/etc/localtime"

,

"dest": "/etc/timezone"

,

"port": "8080"

}

[root@knode1 ~]# cat k8s.conf | jq .hosts.host_list

[

{

"hostname": "host1"

,

"ip": "10.1.251.1"

,

"username": "aps"

,

"password": "tingsoft"

,

"ssh_port": 22

},

{

"hostname": "host24"

,

"ip": "10.1.251.2"

,

"username": "aps"

,

"password": "kingsoft"

,

"ssh_port": 22

}

]1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.

解析不存在的元素key时,会返回null,维之文件.hosts.host_list这种属于嵌套解

自定义输出数组

对于上面jq .hosts.host_list获取的结果,还可以通过【】数组形式获取

复制[root@knode1 ~]# cat k8s.conf | jq .hosts.host_list[0]

{

"hostname": "host1"

,操作

"ip": "10.1.251.1"

,

"username": "ups"

,

"password": "tingsoft"

,

"ssh_port": 22}1.2.3.4.5.6.7.8.

掌握了上面这些基本的数据处理方法,我们就可以在linux和python脚本中做一些配置的维之文件基础处理了。站群服务器

操作
本文地址:http://www.bzve.cn/html/512d1499473.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

热门文章

全站热门

神舟战神k680e(解析神舟战神k680e的配置和特点,为游戏爱好者带来极致体验)

探索尼康D810的卓越性能与功能(一部引领摄影界的全画幅单反相机)

罗马仕苹果电池的性能与质量评测(以最新的罗马仕苹果电池为例,探讨其性能指标与用户体验)

为什么不适合在厕所玩手机?(为什么不适合在厕所玩手机?)

魅蓝3屏幕的品质与表现如何?(揭秘魅蓝3屏幕的关键特性,让您了解最新技术)

电脑拼音双拼键盘打字教程(学会电脑拼音双拼键盘,轻松提升打字速度与准确度)

三星A9000(一款卓越的移动体验)

以军工三防手机怎么样?(性能强劲、防护全面,解密军工三防手机的优势和特点)

友情链接

滇ICP备2023006006号-39