在OpenWrt/LEDE系统中处理JSON的方法,这里记录一下。
假设有一个JSON文件
cat /etc/ss.json
{
"server": "8.8.8.8",
"server_port": 443,
"local_address": "0.0.0.0",
"local_port": 7070,
"password": "fuckgfang",
"method": "aes_128_ctr",
"timeout": "60",
"protocol": "auth_aes128_sha1",
"fast_open": false
}
处理方式1
$ jsonfilter -i /etc/ss.json -e "@.server"
8.8.8.8
$ CONF=/etc/ss.json
$ a=$(jsonfilter -i $CONF -e "@.server")
$ echo $a
8.8.8.8
处理方式2
$ cat test.sh
source /usr/share/libubox/jshn.sh
json_init
data=$(cat /etc/ss.json)
json_load "$data"
json_get_var server_addr server
echo "server" $server_addr
echo "or......"
json_get_keys keys
for k in $keys; do
json_get_var v "$k"
echo "$k : $v"
done
$ sh test.sh
server 8.8.8.8
or......
server : 8.8.8.8
server_port : 443
local_address : 0.0.0.0
local_port : 7070
password : fuckfang
method : aes_128_ctr
timeout : 60
protocol : auth_aes128_sha1
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。