天天看點

python 多層嵌套 json_python解析多層json操作示例

本文執行個體講述了python解析多層json操作。分享給大家供大家參考,具體如下:

原始檔案内容:

{

"MaskPolygonItem": {

"0": {

"BoundingBox": "354.105 221.957 379.764 96.2241",

"label": "Number",

"labelNum": 0,

"polygon": "3,6"

}

},

"channels": 3,

"height": 1080,

"width": 1920

}

修改并儲存代碼

#coding=utf-8

import os

import json

#擷取目标檔案夾的路徑

filedir = r'J:\NumberData\mrcnnHik\test'

#擷取檔案夾中的檔案名稱清單

filenames=os.listdir(filedir)

#周遊檔案名

for filename in filenames:

filepath = filedir+'/'+filename

# print(filepath)

after = []

# 打開檔案取出資料并修改,然後存入變量

with open(filepath, 'r') as f:

data = json.load(f)

mask=data["MaskPolygonItem"]

for zidian in mask:

print(type(zidian))

mask[zidian]["polygon"] = '354 221,355 310,729 318,733 236'

after = data

# 打開檔案并覆寫寫入修改後内容

with open(filepath, 'w') as f:

#結構化輸出

data = json.dump(after, f,sort_keys=True, indent=4, separators=(',', ': '))

修改之後内容(僅修改了polygon)

{

"MaskPolygonItem": {

"0": {

"BoundingBox": "354.105 221.957 379.764 96.2241",

"label": "Number",

"labelNum": 0,

"polygon": "354 221,355 310,729 318,733 236"

}

},

"channels": 3,

"height": 1080,

"width": 1920

}

PS:這裡再為大家推薦幾款比較實用的json線上工具供大家參考使用:

希望本文所述對大家Python程式設計有所幫助。