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
}
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值