我有一个JSON文件,其中包含有关某些图像的数据:
{
"imageHeight": 1536,
"sessionID": "4340cc80cb532ecf106a7077fc2a166cb84e2c21",
"bottomHeight": 1536,
"imageID": 1,
"crops": 0,
"viewPortHeight": 1296,
"imageWidth": 2048,
"topHeight": 194,
"totalHeight": 4234
}
我希望在shell脚本中以简单的方式处理这些值。我在网上搜索但无法找到任何简单的材料来理解。
编辑:我希望如何处理这些价值观?
我正在使用convert(Imagemagick)来处理图像。所以,整个工作流程都是这样的。从json文件中的一行读取条目说裁剪,然后在裁剪图像时使用该值:
转换-crop [图像宽度来自json] x [图像高度来自json] +0+ [来自json的裁剪值] [session_id来自json] - [imageID来自json] .png [sessionID] - [ImageID] -cropped .PNG
答案 0 :(得分:2)
我建议使用jq
。例如,要获取imageHeight
,您可以使用:
jq ".imageHeight" data.json
输出:
1536
如果要将值存储在shell变量中,请使用:
variable_name=$(jq ".imageHeight" data.json)
答案 1 :(得分:1)
Python的溶液
import json
from pprint import pprint
json_data=open('json_file')
data = json.load(json_data)
pprint(data)
data['bottomHeight']
输出:
In [28]: pprint(data)
{u'bottomHeight': 1536,
u'crops': 0,
u'imageHeight': 1536,
u'imageID': 1,
u'imageWidth': 2048,
u'sessionID': u'4340cc80cb532ecf106a7077fc2a166cb84e2c21',
u'topHeight': 194,
u'totalHeight': 4234,
u'viewPortHeight': 1296}
In [29]: data['bottomHeight']
Out[29]: 1536