我正在尝试在 shell 脚本中加载并打印 JSON 响应。我不知道如何实现这一点。请帮助我。
代码:
#!/bin/sh
malop_q=$(curl -X GET -k -H "SEC: xxxxxxxxxxxxxxxxxxxxxx" 'https://127.0.0.1/api/reference_data/sets/malopid?fields=data(value)')
echo $malop_q
JSON 响应:
{"data":[{"value":"11.945403842773683082"},{"value":"11.945403842773683082"},{"value":"11.945403842773683082"}]}
预期OP是
我需要打印上面 JSON 响应中的值:
11.945403842773683082
11.945403842773683082
11.945403842773683082
提前致谢。
'
最佳答案
以下 python 代码进行解析,假设您将其另存为:my_json.py
import json,sys
obj=json.load(sys.stdin)
for i in range(len(obj['data'])):
print obj['data'][i]['value']
您可以使用以下方式获取响应:
malop_q=$(curl -X GET -k -H "SEC: xxxxxxxxxxxxxxxxxxxxxx" 'https://127.0.0.1/api/reference_data/sets/malopid?fields=data(value)')
echo $malop_q | python my_json.py
或一行:
curl -X GET -k -H "SEC: xxxxxxxxxxxxxxxxxxxxxx" 'https://127.0.0.1/api/reference_data/sets/malopid?fields=data(value)' | python my_json.py
关于python - 如何在 bash shell 脚本中解析和加载 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37539854/