python - 如何在 bash shell 脚本中解析和加载 JSON?

标签 python json bash shell api

我正在尝试在 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/

相关文章:

bash - bash 中的 $(shell) 引用

python - 设置 tk.Frame 宽度和高度

python - 从python访问没有-fPIC编译的库

mysql - 从 mysql 存储过程中的 json 数据访问 json 对象

bash - SSH 文档 : bash prompt

bash - 如何处理从最旧到最新的 bash 文件?

python - 在 gitpython 中获取特定文件的所有修订

python - 使用 fileinput 写入文件会产生问题

java - ESQL 中的动态 JSON 键/值对生成

json - 在 Angular 2 中从 JSON 对象获取嵌套数据