Press "Enter" to skip to content

在OpenWrt/LEDE系统中处理JSON

在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

One Comment

Leave a Reply to 深夜徘徊 Cancel reply

Your email address will not be published. Required fields are marked *