Shell 脚本和 Json

Shell 脚本和 Json

基本上,我有一个 openwrt 路由器。我希望它运行一个 shell 脚本来连接到 API,使用其 MAC 地址作为身份验证并下载 JSON 文件。

由于 API 尚未构建,我手动创建了一个 JSON 文件,并且我希望脚本从 JSON 中读取一些值并将它们存储在单独的变量中。

我使用 curl 来获取 JSON 文件,现在我需要脚本来读取它,并将每个值存储在单独的变量中。

我在网上看到的都是使用 jq (https://stedolan.github.io/jq/)但是小路由器的内存只剩下4MB,路由器确实安装了jshn(https://github.com/m-labs/openwrt-milkymist/blob/master/package/jshn/example.txt)。关于我应该如何编写脚本,您有什么想法吗?

{
  "mac": "8d:ff:86:7d:9c",
  "adblock": "off",
  "parental": "off",
  "vpn": "newyork1.ovpn",
  "vpnstatus": "off",
  "status": "active"
}

提前致谢,

答案1

由于您可以控制该 JSON 文件的内容,并且需要在低内存设备上使用 shell 处理它,因此请不要使用 JSON:输出shell 语法你可以source直接

mac="8d:ff:86:7d:9c"
adblock="off"
parental="off"
vpn="newyork1.ovpn"
vpnstatus="off"
status="active" 

然后,当你下载它之后,比如说,status.sh

. ./status.sh
do_something_with "$status"
do_something_else_with "$vpn" "$vpnstatus" 

相关内容