Openwrt下jshn.sh用法解析

目录

一、示例用到的json数据

二、jshn.sh中包含的函数

1)json_load以及json_load_file

2)json_dump

3)json_get_type

4)json_get_keys

5)json_get_values

6)json_get_var

7)json_get_vars

8)json_select

9)json_is_a

10)json_for_each_item


一、示例用到的json数据

{
        "up": true,
        "uptime": 18804,
        "l3_device": "eth0.2",
        "proto": "dhcp",
        "device": "eth0.2",
        "ipv4-address": [
                {
                        "address": "192.168.5.102",
                        "mask": 24
                },
                {
                        "address": "192.168.5.103",
                        "mask": 24
                }
        ],
        "dns-server": [
                "1.1.1.1",
                "2.2.2.2",
                "223.6.6.6",
                "223.5.5.5"
        ]
}

上面的数据可以用下面的代码生成并查看:

json_init;
json_add_boolean 'up' 1;
json_add_int 'uptime' 18804;
json_add_string 'l3_device' 'eth0.2';
json_add_string 'proto' 'dhcp';
json_add_string 'device' 'eth0.2';
json_add_array 'ipv4_address';
json_add_object '0';
json_add_string 'address' '192.168.5.102';
json_add_int 'mask' 24;
json_close_object;
json_add_object '1';
json_add_string 'address' '192.168.5.103';
json_add_int 'mask' 24;
json_close_object;
json_close_array;
json_add_array 'dns_server';
json_add_string '0' '1.1.1.1';
json_add_string '1' '2.2.2.2';
json_add_string '2' '223.6.6.6';
json_add_string '3' '223.5.5.5';
json_close_array;
json_dump;

二、jshn.sh中包含的函数

1)json_load以及json_load_file

这两个函数都只有一个参数,前者是一个json字符串,后者是一个文件。

2)json_dump

该函数用于展示通过json_load或者json_load_file加载的数据

3)json_get_type

该函数用于获取对象的数据类型

4)json_get_keys

该函数用于获取对象(当前级别)的所有键

5)json_get_values

该函数用户获取对象的(当前级别)的所有值

6)json_get_var

该函数用于获取指定对象(key)的值

7)json_get_vars

该函数用于获取多个(key)值,它的参数有两种

  • 第一种:直接用json文件中的key来获取对应的值,key可以有多个

  • 第二种:当字段不存在时,返回一个预设定的值

8)json_select

该函数可以用于选择对象或者返回上一级(或者最外层的对象)

9)json_is_a

用于判断类型

10)json_for_each_item

该函数用于遍历json中的对象或者数组

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值