ubus解析array数据
ubus简介
在openwrt
平台下开发时,ubus
为进程间通信提供了一个通用的框架。它让进程间通信的实现变得非常简单,并且ubus具有很强的可移植性,可以很方便的移植到其它linux平台上使用。ubus
实现的基础是unix socket
,即本地socket
,它相对于用于网络通信的inet socket
更高效,更具可靠性。
需要解决的问题
在ubus的使用过程中,我们有时需要解析ubus call得到的json对象,本文通过例程来讲解如何通过ubus解析array中的内容。
在openwrt平台下,通过运行以下命令来获取路由器WAN口的状态信息:
ubus call network.interface.wan status
返回如下内容:
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"uptime": 431503,
"l3_device": "eth1",
"proto": "dhcp",
"device": "eth1",
"metric": 0,
"delegation": true,
"ipv4-address": [
{
"address": "172.17.53.9",
"mask": 23
}
],
"ipv6-address": [
],
"ipv6-prefix": [
],
"ipv6-prefix-assignment": [
],
"route": [
{
"target": "0.0.0.0",
"mask": 0,
"nexthop<