【发布时间】:2020-05-17 04:41:04
【问题描述】:
我想从变量中提取所有键值对并需要重用它。
当前有带有 unicode 字典的变量。
a="u'{a': u'true', u'b': u'1', u'c': u'E', u'key': u'null', u'key1': u'null'}"
尝试在 shell 中使用 python 中的json.tool,但它是类型文件(unicode),所以无法获取。
是否可以只在shell中遍历变量并在shell中打印所有键值对
试过下面的东西:
echo $a | python -c 'import json,sys; print type('sys.stdin')'
输出:
<type 'file'>
注意:我们不能使用jq。
我需要重复使用的期望输出:
a:true
b:1
c:E
key:null
key1:null
我将在我的脚本中重新使用它作为键值。
【问题讨论】:
-
是的,我需要得到你建议的键值对
-
您的 JSON 无效。
-
我不知道这是否适合您想要的,但您可以评估:
eval(a),然后像普通字典一样获取项目:eval(a).items() -
@Cyrus:我知道 json 格式无效。所以只问我们是否可以遍历和打印键值。
-
@n.qber:不,它不起作用。谢谢
标签: python json bash shell variables