python解析多层json操作示例
本文实例讲述了python解析多层json操作。分享给大家供大家参考,具体如下:
原始文件内容:
{ "MaskPolygonItem":{ "0":{ "BoundingBox":"354.105221.957379.76496.2241", "label":"Number", "labelNum":0, "polygon":"3,6" } }, "channels":3, "height":1080, "width":1920 }
修改并保存代码
#coding=utf-8 importos importjson #获取目标文件夹的路径 filedir=r'J:\NumberData\mrcnnHik\test' #获取文件夹中的文件名称列表 filenames=os.listdir(filedir) #遍历文件名 forfilenameinfilenames: filepath=filedir+'/'+filename #print(filepath) after=[] #打开文件取出数据并修改,然后存入变量 withopen(filepath,'r')asf: data=json.load(f) mask=data["MaskPolygonItem"] forzidianinmask: print(type(zidian)) mask[zidian]["polygon"]='354221,355310,729318,733236' after=data #打开文件并覆盖写入修改后内容 withopen(filepath,'w')asf: #结构化输出 data=json.dump(after,f,sort_keys=True,indent=4,separators=(',',':'))
修改之后内容(仅修改了polygon)
{ "MaskPolygonItem":{ "0":{ "BoundingBox":"354.105221.957379.76496.2241", "label":"Number", "labelNum":0, "polygon":"354221,355310,729318,733236" } }, "channels":3, "height":1080, "width":1920 }
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/