热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有没有办法读取JSON文件中的所有键值对,然后在shell中相应地初始化所有变量?

如何解决《有没有办法读取JSON文件中的所有键值对,然后在shell中相应地初始化所有变量?》经验,为你挑选了1个好方法。

给定一个JSON文件,arguments.json:

{"dagger": true, "version": false, "nether_strike": true, 
 "greater_bash": "5", "FILE": "ancientscroll.txt", 
 "empower_haste": "1", "help": false}

我可以jq在shell中使用并单独初始化变量:

dagger=$(cat arguments.json | jq '.["dagger"]')
greater_bash =$(cat arguments.json | jq '.["greater_bash"]')    

echo $dagger
echo $greater_bash

有没有办法读取JSON文件中的所有键值对,然后在shell中相应地初始化所有变量?



1> chepner..:

您可以遍历键/值对并用于declare动态创建变量名称.

while read -r name value; do
    declare "$name=$value"
done <<(jq -r 'to_entries[] | "\(.key) \(.value)"' arguments.json)


推荐阅读
author-avatar
黑焰2502887807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有