簡體   English   中英

在shell腳本中讀取JSON數據

[英]Reading JSON data in a shell script

我有一個JSON文件,其中包含有關某些圖像的數據:

{
    "imageHeight": 1536,
    "sessionID": "4340cc80cb532ecf106a7077fc2a166cb84e2c21",
    "bottomHeight": 1536,
    "imageID": 1,
    "crops": 0,
    "viewPortHeight": 1296,
    "imageWidth": 2048,
    "topHeight": 194,
    "totalHeight": 4234
}

我希望在shell腳本中以簡單的方式處理這些值。 我在網上搜索但無法找到任何簡單的材料來理解。

編輯:我想對這些價值觀做些什么?

我正在使用convert(Imagemagick)來處理圖像。 所以,整個工作流程都是這樣的。 從json文件中的一行讀取條目說裁剪,然后在裁剪圖像時使用該值:

convert -crop [來自json的圖像寬度] x [來自json的圖像高度] +0 + [來自json的裁剪值] [來自json的session_id] - 來自json的[imageID] .png [sessionID] - [ImageID] -cropped.png

我建議使用jq 例如,要獲取imageHeight ,您可以使用:

jq ".imageHeight" data.json

輸出:

1536

如果要將值存儲在shell變量中,請使用:

variable_name=$(jq ".imageHeight" data.json)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM