OpenWRT JSON处理方法

 1 在OpenWrt/LEDE系统中处理JSON的方法,这里记录一下。
 2 
 3 假设有一个JSON文件
 4 
 5 cat /etc/ss.json 
 6 {
 7     "server": "8.8.8.8",
 8     "server_port": 443,
 9     "local_address": "0.0.0.0",
10     "local_port": 7070,
11     "password": "fuckgfang",
12     "method": "aes_128_ctr",
13     "timeout": "60",
14     "protocol": "auth_aes128_sha1",
15     "fast_open": false
16 }
17 处理方式1
18 
19 $ jsonfilter -i /etc/ss.json -e "@.server"
20 8.8.8.8
21 
22 $ CONF=/etc/ss.json
23 $ a=$(jsonfilter -i $CONF -e "@.server")
24 $ echo $a
25 8.8.8.8
26 
27 处理方式2
28 
29 $ cat test.sh 
30 source /usr/share/libubox/jshn.sh 
31 json_init
32 data=$(cat /etc/ss.json)
33 json_load "$data"
34 json_get_var server_addr server
35 echo "server" $server_addr
36 echo "or......"
37 json_get_keys keys
38 for k in $keys; do
39    json_get_var v "$k"
40    echo "$k : $v"
41 done
42 
43 $ sh test.sh 
44 server 8.8.8.8
45 or......
46 server : 8.8.8.8
47 server_port : 443
48 local_address : 0.0.0.0
49 local_port : 7070
50 password : fuckfang
51 method : aes_128_ctr
52 timeout : 60
53 protocol : auth_aes128_sha1

 

posted on 2020-11-26 09:26  sudochen  阅读(377)  评论(0)    收藏  举报

导航